删除查询需要很长时间才能执行

时间:2016-04-27 09:20:10

标签: sql oracle oracle10g

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

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

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

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

1 个答案:

答案 0 :(得分:1)

虽然对您要过滤的列进行索引可能有所帮助(但可能没有;它取决于受影响的表中行的百分比,表的大小,表中数据的组织方式等。),如果删除之前在可接受的时间内运行但它已不再使用(使用完全相同的过滤条件),则必须更改某些内容。

我的猜测是你在表格中有比以前更多的数据,但可能有多种因素,例如内存,删除的索引等等。如果你有执行计划,那将会有所帮助删除与当前执行计划一起运行正常。这可能会引发一些问题。