删除Oracle数据库上的查询需要时间

时间:2016-07-22 15:00:47

标签: oracle database-administration

我有这样的查询。

DELETE FROM ExampleTable WHERE pdate <= (select max(date) from table2 )

执行时间过长(约20分钟)。

如果我在列pdate上动态创建索引并执行查询,它会有所不同吗?成功执行后,我删除索引。

我们可以在查询中添加任何提示,使其更快,就像我们在插入APPEND提示中一样吗?

1 个答案:

答案 0 :(得分:0)

这取决于。如果删除不超过15%的行(大约是计数),那么索引将帮助您。 对我来说,我在pdate上创建分区部分的表。看着你查询我假设你删除旧数据。

请看这个简短的解释https://oracle-base.com/articles/8i/partitioned-tables-and-indexes