客户数据存储按年度建立数据库,09年4G,10年15G,11年到现在17G,现在软件运行速度非常慢,网上搜了一下可以尝试的解决方案有两种,
一、重建索引;
二、建立表分区。但是没有详细的例子,求解决方法和具体参数说明,如DBCC DBREINDEX后边的填充因子如何确定是多少?
另外就是重建索引和建立表分区是否有其他副作用?

解决方案 »

  1.   

    提供一些数字才能知道用什么方法最有效
    1、较大的单表数据量(记录数)
    2、索引是否优化,以及优化程度(这个可以把你弄呢过跟踪到的常用的最慢的SQL语句及所用时间提供出来)
    3、数据特点别重复发帖
      

  2.   

    DBCC DBREINDEX后边的填充因子如何确定是多少?
    一般来说碎片到了25%就需要重新建立索引了 
    另外就是重建索引和建立表分区是否有其他副作用?
    索引建立得不好的话会失效,另外索引是以空间换取时间,也就是说会增加额外的 I/O开销这些
      

  3.   

    DBCC DBREINDEX后边的填充因子如何确定是多少?
    --> 这个不是索引的首要参数,建议先按默认的90%即可.另外就是重建索引和建立表分区是否有其他副作用?
    --> 一、重建索引; --> 可能引起锁表,需在系统闲时进行.
         二、建立表分区。--> 有限制: 只支持SQL2005及以上版本.