日期:2014-05-18  浏览次数:20533 次

int自增类型字段需要再加索引吗?
表A中有这样的一个字段
字段名:id
数据类型:int
自增:identity
现在请教一下,如果表A的数据比较大,而且经常需要针对id进行查询和排序, 有必要对这个id字段进行索引吗?

------解决方案--------------------
很多书上和论坛上都希望索引不要加在identity的列上...至于加在int列上根据需要...经常根据这个列查询数据就加载这个列上...而且int类型占用的字节数比较少不是..那么单次io 到缓存的数据量就比较大.数据量比较大就会得到我们需要数据的概率也比较大! 至于不要建立在自增长列上可能是自增长列修改起来比较麻烦..索引并不一定非要建立在主键上..主键和聚集索引是两码事...一个表取消主键约束 某球事..但是你要是禁用聚集索引这张表就 瓦塔拉! alter index indexname set disable 就这表就废了...就不能提供数据出来了..因为他不知道按那种顺序排了..所以你查询的时候就会报错! 所以我们必须重建索引后这张表才能正常使用! 其实我感觉建立在自增长上页没有啥不好..论坛和书上说他不好..最其吗没有重复值是吧..那索引效率相对还比较高..如果索引建立在bit 类型上...那其实这个索引除了多占用咱得磁盘空间外..没有起到啥球用...因为bit类型就0和1
------解决方案--------------------
探讨

主键上的聚集索引也可以删掉的,所以主键不是索引的一种。。

------解决方案--------------------
不用加索引,也不要在identity上设置主键!