我在 Oracle 中有一个 RDF 图,它大约有。7 ,000, 000 个三元组(行)
我有一个简单的 select 语句,它获取旧的重复项(三元组)并将它们从这个 RDF 图中删除。
现在,假设我的 SELECT 返回 300 个结果,这在计算上非常昂贵,因为 DELETE 对 TEST_tpl 表进行了 300 次完整扫描,正如我所说,TEST_tpl 大约有 300 个结果。
7,000, 000 行...
DELETE FROM TEST_tpl t WHERE t.triple.get_subject()
IN
(
SELECT rdf$stc_sub from rdf_stage_table_TEST
WHERE rdf$stc_pred LIKE '%DateTime%'
)
我正在尝试找到创建一个 oracle 过程的方法,该过程对于多个值只通过一次表...
或者也许有人知道更好的方法......