Какой из следующих запросов более эффективен и почему? В соответствии с планом выполнения они оба имеют одинаковую общую стоимость, но я не уверен, что это само по себе является хорошим показателем общей производительности.
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
)
;