索引的代价
1.增加、更改、删除索引都会维护
2.索引占据一定的物理空间
建立索引的原则
1.主键一定要建立索引
2.外键一定要建立索引
3.对于经常查询的数据最好建立索引
a.对于范围数据,可以利用索引排序加快查询时间
b.将索引建立在where子句的集合过程中
4.查询很少涉及到的列、重复值多的列不要建立索引
5.数据量大、或小的列不要建立索引
索引分类
1.聚集索引(物理排序)(只有一个)
2.非聚集索引(无物理排序)(249个)
3.唯一索引(对数据的唯一约束)
索引的分析
1.showplan_all(显示查询计划)
demo:set showplan_all on
2.statistics io(检索磁盘活动量)
demo:set statistics io on
索引的维护
随着时间的推移,由于增删改等一系列操作,数据变得乱无序。索引需要维护
1.统计更新
update statistics class pk_class
2.扫描表信息
dbcc showcontig(class,PK_Class)
说明:扫描密度100%为理想值,过低则需要清理表碎片了
3.碎片整理
dbcc indexdefrag(sukinshow,class,PK_Class)