日期:2014-05-17  浏览次数:20599 次

大量删除表中数据后是否会对查询速度有影响?
一个表,id是自增,聚集索引,还有其他几列int,varchar型数据建了非聚集索引。

现在id到了60W,数据只有30W,删了大概30W,这个会影响到查询速吗?

现在的查询是按30W数据还是会按到60W来算?

------解决方案--------------------
有可能会有影响的,因为删除了表中一半的数据,可能导致统计信息不准确。

建议你,更行一下统计信息:

update statistics 表名


------解决方案--------------------
引用:
一个表,id是自增,聚集索引,还有其他几列int,varchar型数据建了非聚集索引。

现在id到了60W,数据只有30W,删了大概30W,这个会影响到查询速吗?

现在的查询是按30W数据还是会按到60W来算?
重建聚集索引
------解决方案--------------------
把索引重建一下就可以了,你删了一半的数据,肯定碎片n多了,重建索引吧,重建索引之后会按照30W数据量来查询,否则按照60w的数据量查询
------解决方案--------------------
统计信息可以设置自动更新吧
------解决方案--------------------
会影响,删除完后,再手工更新一下统计信息
------解决方案--------------------
这个肯定影响非常大,建议你在这个表上建立一个触发器,只要有删除操作,触发器就执行重建索引的操作。