1.覆盖索引:select和where中包含的结果集中应存在“非聚集索引列”,这样就不用查找基表了,索引表即可搞定;
2.索引交叉:是针对覆盖索引的一种扩展来说的(这里的非聚集索引建在了l1和l2 ,select * from t_ where l1=‘asd‘ and l2=‘qwe‘),则两个非聚集索引表进行join;
3.索引连接:是索引交叉的特例(select l1,l2 from t_ where l1=‘asd‘ and l2=‘qwe‘);
4.索引过滤:在创建索引的时候加上特定的过滤条件,则符合此条件的就不会;
备注:
create nonclustered index aaa on [111].[dbo].[SYS_Message]([Type],[Subject]) include ([status]) include包含进来的不会作为增加“键”的宽度 create nonclustered index ccc on [111].[dbo].[SYS_Message]([Subject])
索引过滤
例子如下 :
create nonclustered index aaa on [111].[dbo].[SYS_Message]([Type],[Subject]) where [Subject]=0
时间: 2024-10-11 00:24:55