感觉可能和数据库日志文件随着数据删除逐渐增大有关,日志文件删掉一些试试

解决方案 »

  1.   

    另外此表上是否存在索引?
    数据表在添加、更新、删除操作中会产生索引碎片,导致查询速度变慢,特别是查询大型数据表时更为明显
      

  2.   


    索引那肯定是有的,我现在是按主键的条件去删除的
      

  3.   

    可以将索引重建或重组试下,看看是否有改善
    1、Drop原来的索引再重建这些索引,这种方法的优点是索引彻底重建,达到最理想的状况。但是这此会阻塞所有的查询,最好是在索引碎片十分严重,并且使用REBUILD无法达到效果的情况下使用。注意:使用DROP_EXISTING子句,可以避免non-clustered index被重建两次。
    2、ALTER INDEX 索引名 REBUILD          重新生成索引。
    重新生成索引将会删除并重新创建索引。这将根据指定的或现有的填充因子设置压缩页来删除碎片、回收磁盘空间,然后对连续页中的索引行重新排序。该方法在一个事务中完成操作,在数据文件中需要有足够的free space来满足将所有的索引及相关的一些对象进行重建,否则操作可能失败,或者是重建的不十分彻底。对于数据量非常大的表,所需的free space也更多,应当特别注意这一点。
    3、ALTER INDEX 索引名 REORGANIZE          重组索引。
    使用最少系统资源重新组织索引,重新组织还会压缩索引页。可以在数据库online的情况下执行,但是整理不够彻底。
      

  4.   

    高水位问题现在的删除应该走的是全表扫描。如果利用索引来找这1000条,会快得多其实我觉得还不如将要保留的数据导出,然后重建这个表,把水位降下来