次のクエリのうち、より効率的なものはどれですか?またその理由は? 実行計画によると、どちらも総コストは同じですが、それだけで全体的なパフォーマンスの良い指標になるかどうかはわかりません。
1>
SELECT MIN(ROWID), MAX(ROWID)
FROM tab_a
WHERE status = 0
AND EXISTS (
SELECT 'X'
FROM tab_b
WHERE status = 0
AND number = assembly_number
AND ROWID >= :min_rowid
AND ROWID <= :max_rowid
)
;
2>
SELECT MIN(ROWID), MAX(ROWID)
FROM tab_a
WHERE status = 0
AND assembly_number IN (
SELECT number
FROM tab_b
WHERE status = 0
AND ROWID >= :min_rowid
AND ROWID <= :max_rowid
)
;