如何建立索引

环境:Sql Server 2008

Technorati Tags:

合理的索引设计要建立在对各种查询的分析和预测上。一般来说:

    1.  有大量重复值、且经常有范围查询(between,   > , <   ,> =, <   =)和order   by、group   by发生的列,

           可考虑建立群集索引;

      2.  经常同时存取多列,且每列都含有重复值可考虑建立组合索引;

      3.  组合索引要尽量使关键查询形成索引覆盖,其前导列一定是使用最频繁的列。

      4.  对于查询中很少涉及的列或者重复值比较多的列,不要建立索引。

      5.  对于按范围查询的列,最好建立索引。不过,若虽然可能需要按范围来进行查询,但是,若这个范围查询条件利用的不多的情

           况下,最好不好采用索引。

      6.  表中若有主键或者外键,一定要为其建立索引,可以加快连接的速度。

      7.  索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;

      8.  不要索引常用的小型表。

      9. 通常的情况下不要选择用户可编辑的字段作为键。

      10.在经常使用在WHERE子句中的列上面创建索引,加快条件的判断速度。

      11.对于那些只有很少数据值的列也不应该增加索引。

      12.频繁进行数据操作的表,不要建立太多的索引,当修改性能远远大于检索性能时,不应该创建索引。

      13.数据量超过500的表应该有索引。

      14.经常与其他表进行连接的表,在连接字段上应该建立索引。

      15.经常出现在Where子句中的字段,特别是大表的字段,应该建立索引。

      16.索引应该建在选择性高的字段上。

      17.复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替。复合索引的几个字段是否经常同时以AND方式出现在

           Where子句中?单字段查询是否极少甚至没有?如果是,则可以建立复合索引,否则考虑单字段索引。如果复合索引中

           包含的字段经常单独出现在Where子句中,则分解为多个单字段索引。如果复合索引所包含的字段超过3个,那么仔细

           考虑其必要性,考虑减少复合的字段。构成复合索引的列的总长度不能超过900字节。创建复合索引时,应该仔细考虑列的顺序。

           对索引中的所有列执行搜索或仅对前几列执行搜索时,复合索引非常有用;仅对后面的任意列执行搜索时,复合索引则没有用处。

      18.如果既有单字段索引,又有这几个字段上的复合索引,一般可以删除复合索引。

      19.当需要以多种方式检索数据时,非聚簇索引是非常有用的。

      • 0
        点赞
      • 2
        收藏
        觉得还不错? 一键收藏
      • 0
        评论

      “相关推荐”对你有帮助么?

      • 非常没帮助
      • 没帮助
      • 一般
      • 有帮助
      • 非常有帮助
      提交
      评论
      添加红包

      请填写红包祝福语或标题

      红包个数最小为10个

      红包金额最低5元

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

      抵扣说明:

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

      余额充值