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

关于索引创建的问题,希望大家给个参考
RT,在我的表中,查询比较频繁的列有姓名、基本信息编号、健康档案编号3个字段,其中健康档案编号是省、市、县、乡和村行

政代码自动生成17位数并且唯一,基本信息编号取的是健康档案编号的最后8位,两个编号都是很少更新,另外在连接其他表时是

根据健康档案编号来作为连接字段的。现在我不确定聚集索引是默认建立在主键上还是建立在健康档案编号列上,或是在健康档

案编号上建立非聚集索引。我参考了一些说法,说是聚集索引很宝贵,默认建立在主键上的话有点浪费,但建立在健康档案编号

字段上有违反了大数目的不同值情况下不应建立聚集索引规则。于是,又想在健康档案编号上建立非聚集索引,但是这样的话聚

集索引应该建立到那个字段上呢?

  希望大家多多发表自己的观点,给点参考,在这里先谢谢了!

------解决方案--------------------
http://database.ctocio.com.cn/tips/272/7588272.shtml 看看
------解决方案--------------------
你可以将健康档案编号前9位也就是只记录省、市、县、乡和村行
政代码部分分出来为一个新字段,这个建立聚集索引。其他的都是普通索引。

健康档案编号,基本信息编号看能否使用numeric类型来代替varchar类型
如果可以也会有几倍的性能提高。
------解决方案--------------------
聚集索引应该建在不会被更新的字段上,比如主键
------解决方案--------------------
回复于:2012-04-25 15:17:04你可以将健康档案编号前9位也就是只记录省、市、县、乡和村行
政代码部分分出来为一个新字段,这个建立聚集索引。其他的都是普通索引。

健康档案编号,基本信息编号看能否使用numeric类型来代替varchar类型
如果可以也会有几倍的性能提高。