解决方案 »

  1.   

    如果经常使用a、b、c、d做查询条件你的查询条件是组合的,还是单个字段的,比如:where a = xx 
    where b = yy
    还是:where a=xx and b=yy and c = zz
      

  2.   

    如果是这种:where a = xx 
    where b = yy
    那么最好是给a,b,c,d每个字段,分别建立索引。如果是:where a=xx and b=yy and c = zz
    那么可以建立一个索引:create index idx_xxx on 表(a,b,c,d)
      

  3.   


    既有单独的,也有组合的,组合的多一些,
    既有a=x and b=y and c=z
    也有b=y and d=m 这样不同字段的组合查询,要给同一个字段建立多个索引吗
      

  4.   


    既有单独的,也有组合的,组合的多一些,
    既有a=x and b=y and c=z
    也有b=y and d=m 这样不同字段的组合查询,要给同一个字段建立多个索引吗这样就得建立多个索引了,比如(a,b,c) ,还有(b,d),建立2个索引
      

  5.   

    当然,按照上面的规则建立索引,不过还是要建立尽量少的索引,因为索引建多了,会导致insert、update等操作的开销增大,降低性能。还有,在建立了索引后,可以通过如下的查询,来查询索引的使用的情况:select *
    from sys.dm_db_index_usage_stats
    如果,对index_seek的次数,很小,那么可以考虑删除这个索引,再尝试建立其他的索引,如此多次,就能建立真正让查询使用的索引,让这些索引都能发挥作用,同时尽量减少索引的数量
      

  6.   


    既有单独的,也有组合的,组合的多一些,
    既有a=x and b=y and c=z
    也有b=y and d=m 这样不同字段的组合查询,要给同一个字段建立多个索引吗这样就得建立多个索引了,比如(a,b,c) ,还有(b,d),建立2个索引
    那像 where a=x and b=y and c=z order by f,g,h这样的
    排序字段是单独建立索引还是和条件字段一起组合建立索引呢
      

  7.   


    既有单独的,也有组合的,组合的多一些,
    既有a=x and b=y and c=z
    也有b=y and d=m 这样不同字段的组合查询,要给同一个字段建立多个索引吗这样就得建立多个索引了,比如(a,b,c) ,还有(b,d),建立2个索引
    那像 where a=x and b=y and c=z order by f,g,h这样的
    排序字段是单独建立索引还是和条件字段一起组合建立索引呢可以建立索引:(a,b,c,f,g,h)
      

  8.   


    既有单独的,也有组合的,组合的多一些,
    既有a=x and b=y and c=z
    也有b=y and d=m 这样不同字段的组合查询,要给同一个字段建立多个索引吗这样就得建立多个索引了,比如(a,b,c) ,还有(b,d),建立2个索引
    那像 where a=x and b=y and c=z order by f,g,h这样的
    排序字段是单独建立索引还是和条件字段一起组合建立索引呢可以建立索引:(a,b,c,f,g,h)
    收到,谢谢
      

  9.   

    如果你不知道怎么建,可以把所有索引去掉(可以先保留索引的定义),然后在查询界面右键→【在数据库引擎优化顾问中xxx】那个,然后直接点开始分析,应该会有一些建议,不过仅供参考