删除查询执行时间过长



我正在运行一个简单的删除查询:

delete from table where column_name in (value1, value2, ...)

但是执行时间太长,虽然它完成了 - 但并不快。表未编制索引。我也杀死了所有正在运行的会话。几天前它运行得非常顺利,我不知道为什么,它的行为很奇怪。

请把你宝贵的想法放在这里。

虽然索引

您过滤的列可能会有所帮助(它可能没有;这取决于表中受影响的行的百分比、表的大小、数据在表中的组织方式等),如果删除之前在可接受的时间内运行,但现在不再运行(使用完全相同的过滤条件), 那么一定有什么变化。

我的猜测是,表中的数据比以前多得多,但可能有多种因素,例如内存、已删除的索引等。如果您拥有删除运行时的执行计划以及当前执行计划,这将有所帮助。这可能会引发一些问题。

最新更新