clob列のコンテンツが一意ではないすべての行を識別したいと思います。
私が使用するクエリは次のとおりです。
select
id,
clobtext
from
table t
where
(select count(*) from table innerT where dbms_lob.compare(innerT.clobtext, t.clobtext) = 0)>1
ただし、このクエリは非常に低速です。それをスピードアップするための提案はありますか?私はすでにdbms_lob.getlength関数を使用してサブクエリ内のより多くの要素を削除しようとしましたが、実際にはパフォーマンスを改善しませんでした(同じように感じます)。
例をより明確にするために:
テーブル
ID | clobtext
1 | a
2 | b
3 | c
4 | d
5 | a
6 | d
クエリを実行した後。入手したい(順序は関係ありません):
1 | a
4 | d
5 | a
6 | d