Skip to main content
 首页 » 编程设计

sql之oracle 删除查询花费太多时间

2024年11月24日12cyq1162

我有一个类似的查询

DELETE from tablename where colname = value; 

这需要很长时间才能执行。
可能是什么原因?我在 colname 上有一个索引。

请您参考如下方法:

关于为什么您的查询需要很长时间,可能有几种解释:

  • 您可能被另一个 session 阻止(很可能)。在删除之前,您应该确保没有其他人锁定这些行,例如:issue SELECT NULL FROM tablename WHERE colname=:value FOR UPDATE NOWAIT ,
  • 可能有 ON DELETE TRIGGER做额外的工作,
  • 检查 UNINDEXED REFERENCE CONSTRAINTS指向此表(有一个 script from AskTom 将帮助您确定是否存在此类未索引的外键)。