我正在运行一个简单的删除查询:
delete from table where column_name in (value1, value2, ...)
但它执行的时间太长,虽然它已经完成 - 但并不是很快。该表未编入索引。我也杀了所有正在运行的会话。几天前它运行得非常顺利,我不知道为什么,它表现得很奇怪。
请把你宝贵的想法放在这里。
答案 0 :(得分:1)
虽然对您要过滤的列进行索引可能有所帮助(但可能没有;它取决于受影响的表中行的百分比,表的大小,表中数据的组织方式等。),如果删除之前在可接受的时间内运行但它已不再使用(使用完全相同的过滤条件),则必须更改某些内容。
我的猜测是你在表格中有比以前更多的数据,但可能有多种因素,例如内存,删除的索引等等。如果你有执行计划,那将会有所帮助删除与当前执行计划一起运行正常。这可能会引发一些问题。