聚集索引
把数据有序摆放,物理排序,
聚集索引只有一个,但是可以多个字段,
换聚集索引,很耗时,很多硬盘操作,
非聚集索引
不影响数据的物理排序,但是重复存储一个数据和位置
查找快,但是有维护索引的成本,不是越多越好,
非聚集索引,可以多个,每个非聚集索引也可以多个字段,
适合经常查询的字段,名词、账号,
非聚集索引不能运算,不能like‘%%’
建立索引的原则
主键是必须建立索引的,(推荐数值主键,性能最高)
外键列也要索引,
经常查询的建立索引,
经常在where里面作为查询条件的,
orderby ,group by,distinct,
聚合运算、where条件时,先索引字段,,
不推荐建立索引
基本不怎么查询的,
重复着比较多的,sex,state,
text、image不要索引,
索引不要太多了,
执行计划,
Table Scan,全表扫描,性能最差,
Cluster Index Scan,性能最差,同上,虽然有聚集索引,其实也是全表扫描,
Index Seek(NonClustered)性能非常高
Index Scan 先Index,再扫描,
Cluster Index Seek,性能最高,
尽量后面3条
Sql优化建议
任何形式对列的计算要避免
in查询 or查询,索引会失效,
in 换exists,
not in 不要用,不走索引
is null ,is not null,不走索引,
<>不走索引,
join 连接越少越好,连接字段带索引,
本文详细介绍了数据库中聚集与非聚集索引的工作原理及其使用场景,包括如何选择合适的索引类型、建立索引的原则及SQL优化建议等内容。
6486

被折叠的 条评论
为什么被折叠?



