http://www.yesky.com/20011221/211055.shtml

解决方案 »

  1.   

    >>索引是不是多了会影响性能?
    是,因为索引在插入、修改、删除后需要维护,消耗资源,过多的索引维护降低性能。>>我几乎为每个表的非空类型都加上索引的。
    >>例如:外键ID,日期,记录名字等。
    做法不对,太盲目。>>到底是把索引都编成组合索引好,还是全部分开来好?
    具体问题具体分析,一般查询where里经常以and连接得多个字段适合编成组合索引。>>性能差异的原理是什么?
    主要原理是全表扫描速度慢,索引是排序的,支持查找方法,内存速度比磁盘i/o快。
      

  2.   

    http://www.yesky.com/20011221/211079.shtml
      

  3.   

    主要是查询,用来用去就5000-50000记录左右。
    一天加600条记录吧。如果我所有非空字段都用的上 where 的 (非LIKE),
    那么是不是编成索引最好?如果我把所有可以编成索引的字段的所有组合都编上索引,(1,2,3,1-2,2-3,1-3,1-2-3,等。。)
    那对于查询会更快不?索引能自动维护到最优化不?
    好事要自定义?
    怎样维护索引(不是用企业管理器)才能另查询更快
      

  4.   

    关于索引多好还是少好,必须分清楚你的应用的类别,一般可以分为三类:
    1、OLTP,插入、修改、删除多,查询少,一般不要建太多的索引。
    2、DSS,插入、修改、删除少,查询多,特别是一些统计查询,一般可以建多的索引。
    3、混合模式,一般应用是这个类别,但是在某些表,可以看作是OLTP系统的,就按OLTP的要求建索引,有些表,可以看作是DSS系统的,就按DSSP的要求建索引.
      

  5.   

    大家说得都不错,这里还有些东东,参考一下吧:)
    http://www.sql-server-performance.com/optimizing_indexes.asp
    http://www.sql-server-performance.com/clustered_indexes.asp
    http://www.sql-server-performance.com/composite_indexes.asp
    http://www.sql-server-performance.com/covering_indexes.asp
    http://www.sql-server-performance.com/nonclustered_indexes.asp
    http://www.sql-server-performance.com/rebuilding_indexes.asp
    http://www.sql-server-performance.com/index_tuning_wizard_tips.asp