索引键列和包含性列

1、主键必须是唯一性的,不一定就是聚集索引,我们在创建主键时默认是设主键为聚集索引。可通过手动删除后重新建聚集索引。

2、sql语句是where先执行,然后再执行order by,所以我们在建非聚集索引时要注意顺序并且where与order by里面的列都要在索引键列里面。select部份可以放在包含性列里面,但请注意索引大小的空间问题。

3、order by里面的升序和降序问题一定要和索引键列里面的一样。

 

例:select id,title from table1 where classid=123 order by created DESC

情况一

操作:建非聚集索引IX_A->索引键列为classid(升序降序无所谓)、created(一定要降序) 

注意索引键列中两个字段的先后顺序,两个键列缺一不可。

执行:1.IX_A索引查找出ID,2.根据ID通过 键查找 找出title->返回结果

 

情况二

操作:建非聚集索引IX_B->索引键列为classid(升序降序无所谓)、created(一定要降序) ->添加包含性列id,title

注意索引键列中两个字段的先后顺序,两个键列缺一不可。

执行:1.IX_B索引查找->返回结果

 

以上两个方法如果created的排序弄错了,还将多一步,即:

情况一:1.IX_A索引查找出ID,2.根据ID通过 键查找 找出title,3.排序->返回结果

情况二:1.IX_B索引查找,2.排序->返回结果

转载于:https://www.cnblogs.com/zhuangke668/p/5603431.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值