sqlserver索引和主键

本文详细探讨了SQL Server中的非聚集索引、聚集索引和主键的概念及应用。阐述了不同索引类型在不同场景下的使用,并讨论了创建、修改和管理索引的操作,包括创建非聚集索引、聚集索引、唯一索引,以及主键的设立。同时,还提到了使用索引的代价和维护索引的各种操作,如重建、禁用和重新组织索引。
摘要由CSDN通过智能技术生成

非聚集索引:

1.创建索引时若未指定索引类型则默认为非聚集索引

2.每张表最多可以有249个非聚集索引

3.行的物理位置不按索引的顺序排序

4.只有查询在具有高度选择性的情况下,非聚集索引才有优势

5.一个索引可以多个字段来定义

聚集索引:

1.行的物理位置和行在索引中的位置是一样的

2.每张表只能有一个聚集索引

3.聚集索引可以提高大多数表的性能

4.对数据行的排序,方便查询

5.一个索引可以多个字段来定义

6.创建聚集索引时如果数据里面已经有重复值将不能使用IGNORE_DUP_KEY=ON属性

7.数据可以唯一也可以不唯一取决于是否使用unique属性,虽然数据可能不唯一但是系统会自动生成一个唯一字段并自动插入唯一数据。

8.如果未使用unique属性创建聚集索引,数据库引擎将自动添加一个四字节的unique列并自动向这个字段填充数据来确保每个值唯一,此字段和字段的值供内部使用,用户不能查看和访问。

9.没有限制聚集索引的列必须是not null,可以为null

主键:

1.唯一标识,插入重复数据时会报错

2.每张表只能有一个主键

3.确保数据的完整性

4.可以是一个或多个字段

5.主键的值不可以为空

6.主键的值应该是没有太大意义,永远不会被改变的

使用非聚集索引和聚集索引的场景:

字段属性 非聚集索引
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值