–索引:
–作用类似于书籍的目录
–在数据查询的时候,SQL SERVER先访问索引,再根据索引信息在数据表中找到相关记录
–避免扫描整个数据表,从而有效提升数据检索的速度
–比如我在设置主键或者唯一键时,会自动生成唯一聚集索引、唯一非聚集索引
–查看索引
SELECT name FROM sysindexes ;
–添加索引:给指定的表的某个列添加索引
–CREATE UNIQUE NONCLUSTERED INDEX 索引名 --索引名称:表名_列名
–ON 表名(列名)
–WITH FILLFACTOR=value --填充因子:取值是百分比(0-100)
–建立QQNickName字段的唯一非聚集索引
CREATE UNIQUE NONCLUSTERED INDEX QQUser_QQNickName --索引名称:表名_列名
ON QQUser(QQNickName) WITH FILLFACTOR=80
SELECT * FROM sysindexes WHERE name='QQUser_QQNickName';
–禁用索引
ALTER INDEX QQUser_QQNickName ON QQUser DISABLE
–使用ALTER INDEX语句对索引重建
–重建QQUser表上的所有索引
ALTER INDEX ALL ON QQUser REBUILD
–删除索引:
–简洁语法:DROP INDEX 表名.索引名
DROP INDEX QQUser.QQUser_QQNickName
创建索引的原则:
1.频繁搜索的列
2.经常用作查询选择的列
3.经常排序分组的列
4.经常 用作连接的列(主外键列)
不要使用下面的列创建索引:
仅包含几个不同值的列
表中仅包含几行
**索引:**唯一索引、主键索引、聚集索引和非聚集索引
每个表中只能有一个聚集索引,聚集索引改变了表中行的物理顺序
当创建Primary key约束时,如果不存在聚集索引且未指定唯一非聚集索引,
并将自动创建唯一聚集索引
当创建Unique约束时,默认情况下将创建唯一非聚集索引,如果表不存在聚集索引的话,则可以指定唯一聚集索引