【问题标题】:Compare BLOB against other BLOBs in Oracle database将 BLOB 与 Oracle 数据库中的其他 BLOB 进行比较
【发布时间】:2018-05-20 11:29:27
【问题描述】:

如何检查数据库中是否存在重复的 blob。我在数据库中有文档表,但是我不确定如何检查其中一个是否有重复。我知道你应该使用 dbms_lob.compare 函数,但在阅读了一些关于该主题的主题和文章后,我仍然不明白这一点。

Documents 表有 document_id 列和 data(blob) 列。如何检查 document_id = 1 是否有重复项?

【问题讨论】:

  • 需要多少行、多少数据以及多久执行一次?如果有很多,dbms_lob.compare 会越慢越多行;最好计算一个哈希并在其上查找重复项。

标签: sql oracle blob


【解决方案1】:

查看其他类似答案,like this one。 “如果 dbms_lob.compare(lob1, lob2) = 0,它们是相同的。”

select *
from documents dup
join documents orig on orig.document_id = 1
    and dup.document_id <> orig.document_id
where dbms_lob.compare(orig.blob, dup.blob) = 0;

【讨论】:

    猜你喜欢
    • 2023-03-31
    • 2017-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-30
    相关资源
    最近更新 更多