维护的业务系统有一张表,很大,1千五百万条记录,用sp_spaceused看到:reserved 30g ,data 15g ,index 2g ,unused 13g,现在请求对这张表进行优化的办法。系统里有三张这样的表,同时也是系统最重要的三张表,所有历史数据都不能迁移,必须完整保留,经常有插入、查询等等操作。系统越来越慢也越来越大,请教各位能否有好的优化办法。另外,一张大表分到几个文件里面,是否有帮助?具体怎么实现?

解决方案 »

  1.   

    我的是SQL2000,可否实现分区表?
      

  2.   

    reserved 30g ,data 15g ,index 2g ,unused 13g
    整理一下表先,
    2000的话,做拆分表的动作,
    比如说按年来分表存储,
    2000不能使用分区表的.
      

  3.   

    优先考虑优化 sql 语句并建立适当索引。
      

  4.   


    1、安装业务逻辑进行横向或者纵向分表2、建立索引3、经常维护索引,收缩日志4、优化sql语句5、根据业务需要建立临时表