我们有一个包含超过62k行的表格。我们在其上运行一个非常简单的删除查询,但完成该操作需要45分钟:
DELETE FROM myTable WHERE createdtime < '2017-03-07 05:00:00.000'
我们尝试过的事情:
1- 在时间戳列上添加索引,但没有帮助。
2- 使用函数批量删除20或50行,仍然非常慢。
3- 删除所有外键约束,这有所帮助并将时间缩短到几秒钟,但在生产数据库中我们无法安全地执行此操作,因为它会锁定表格并防止读写操作,而交易正在运行。
我不相信这个查询需要这么长时间才能完成。欢迎任何建议。