1
我在Oracle中有一個RDF圖, 7,000,000三元組(行)更好「從表中刪除行」性能
我有一個簡單的選擇語句,得到的舊副本(三元組),它從這個RDF圖中刪除它們。現在
, 比方說,我選擇返回300個結果, 這得到計算非常昂貴的,因爲DELETE做的TEST_tpl表300倍的全掃描和我說TEST_tpl具有約
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過程的方式......
或者也許有人知道一個更好的辦法...
'test_tpl'的定義是什麼? 「triple」是一種對象類型嗎?你可以發佈查詢計劃嗎?你確定'test_tpl'表被全部掃描了300次嗎?這是可能的,但這似乎是優化器選擇一個非常奇怪的計劃,除非你有一些棘手的統計數據。 –
爲什麼你不使用三重商店? – Michael