码迷,mamicode.com
首页 > 数据库 > 详细

SQL SERVER中非聚集索引的覆盖,连接,交叉,过滤

时间:2015-03-02 16:22:48      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:

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

  

技术分享

SQL SERVER中非聚集索引的覆盖,连接,交叉,过滤

标签:

原文地址:http://www.cnblogs.com/zzq-include/p/4308754.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!