sqlserver 聚集索引和非聚集索引实例
深入了解SQL Server聚集索引与非聚集索引:一个实践指南
我们来创建一个数据库和表,以便进行后续的索引操作。
```sql
CREATE DATABASE myIndexDemo;
GO
USE myIndexDemo;
GO
CREATE TABLE ABC (A INT NOT NULL, B CHAR(10), C VARCHAR(10));
GO
INSERT INTO ABC
SELECT 1,'B','C' UNION SELECT 5,'B','C' UNION SELECT 7,'B','C' UNION SELECT 9,'B','C';
GO
```
现在,我们的表`ABC`中有了一些数据,接下来我们来聚集索引和非聚集索引。
聚集索引(Clustered Index)
在`ABC`表上创建聚集索引,它将根据列`A`的值重新组织表的数据。
```sql
CREATE CLUSTERED INDEX CLU_ABC ON ABC(A);
GO
```
查看索引信息:
```sql
SP_HELPINDEX ABC;
```
```sql
SELECT FROM ABC WITH(INDEX = CLU_ABC) WHERE A > 1 AND A < 5;
```
删除聚集索引:
```sql
DROP INDEX ABC.CLU_ABC;
```
删除索引后,物理顺序可能仍然按照索引创建时的顺序排列。查询数据:
```sql
SELECT FROM ABC;
```
非聚集索引(Non-Clustered Index)
在`ABC`表上创建非聚集索引,它不会重新组织表的数据,而是在原表结构基础上创建一个额外的索引结构。
```sql
CREATE NONCLUSTERED INDEX NONCLU_ABC ON ABC(A);
GO
```
查看索引信息:
```sql
SP_HELPINDEX ABC; -- 注意这里应该是表名的小写abc,因为SQL Server不区分大小写。不过原命令中的大写也是正确的。
网站源码
- 如何在百度上传图片的方法教程分享
- Apple QuickTime 压缩 PICT文件处理远程溢出漏洞
- 电脑提示请将磁盘放入驱动器h是什么意思
- 新网互联绑定域名解析图解方法
- IE7 float-left左浮动失效的解决方法
- Dreamweaver怎么给网站添加一个动态横幅效果-
- ai怎么设计大小递增字母信息图标-
- css -not的多个条件的写法详解
- Win10创意者更新上线新功能Storage Sense-硬盘空间自
- Dreamweaver CS3网页怎么创建多个层-
- Amazon.com搭配顺丰快递实现7天直邮到中国
- win10预览版9926的官方ISO镜像文件怎么下载呢-
- Win10系统如何解除微软账户绑定?win10解除微软账
- 在AI中 改变圆角矩形圆角半径
- h2在div IE7中不垂直居中问题解决方法
- CSS改变选择网页文字背景色