sqlserver2000
所有查询字段都做了索引
有什么办法优化?还是sqlserver2000的问题?

解决方案 »

  1.   

    索引查询是数据库中重要的记录查询方法,要不要进入索引以及在那些字段上建立索引都要和实际数据库系统的查询要求结合来考虑,下面给出实际中的一些通用的原则:1.         在经常用作过滤器的字段上建立索引;2.         在SQL语句中经常进行GROUP BY、ORDER BY的字段上建立索引;3.         在不同值较少的字段上不必要建立索引,如性别字段;4.         对于经常存取的列避免建立索引;5.         用于联接的列(主健/外健)上建立索引;6.         在经常存取的多个列上建立复合索引,但要注意复合索引的建立顺序要按照使用的频度来确定;7.         缺省情况下建立的是非簇集索引,但在以下情况下最好考虑簇集索引,如:含有有限数目(不是很少)唯一的列;进行大范围的查询;充分的利用索引可以减少表扫描I/0的次数,有效的避免对整表的搜索。当然合理的索引要建立在对各种查询的分析和预测中,也取决于DBA的所设计的数据库结构
      

  2.   

    看看你提交的SQL语句的执行计划吧!另外,如果存在索引碎片(用DBCC showcontig(tablename)查看),纵然有索引,查询速度也可显著下降!