Oracle:在没有索引的表中识别重复项

前端之家收集整理的这篇文章主要介绍了Oracle:在没有索引的表中识别重复项前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我尝试在大型表上创建唯一索引时,我得到一个独特的约束错误.在这种情况下,唯一索引是4列的复合键.

是否有一种有效的方法来识别除以下之外的重复项:

select col1,col2,col3,col4,count(*)
from Table1
group by col1,col4
having count(*) > 1

上面的解释计划显示了具有极高成本的全表扫描,并且只想找到是否有其他方法.

谢谢 !

首先尝试在这四列上创建一个非唯一索引.这将花费O(n log n)时间,但也将减少执行选择到O(n log n)所需的时间.

你在这里有点绑定 – 无论你怎样切片,整个表必须至少读一次.天真算法在O(n2)时间内运行,除非查询优化器足够聪明以构建临时索引/表.

原文链接:https://www.f2er.com/oracle/204881.html

猜你在找的Oracle相关文章