Nie. Oracle, jak każda inna rozsądna relacyjna baza danych, jest bardziej wydajna, gdy wykonujesz operacje oparte na zbiorach i gdy robisz złączenia, zamiast proceduralnie emulując złączenia (np. za pomocą zagnieżdżonych pętli kursora).
Domyślam się jednak, że tak naprawdę nie mówisz o kodzie, w którym brakuje złączeń. Domyślam się, że mówisz o kodzie, który używa innej składni sprzężenia niż jesteś przyzwyczajony. Oba
SELECT a.*
FROM a
JOIN b ON (a.a_id = b.a_id)
JOIN c ON (b.b_id = c.b_id)
i
SELECT a.*
FROM a,
b,
c
WHERE a.a_id = b.a_id
AND b.b_id = c.b_id
to zapytania, które łączą a
do b
do c
. Te dwa zapytania są dokładnie identyczne — parser Oracle wewnętrznie przepisze pierwsze zapytanie na drugie. Jedyna różnica polega na tym, że pierwsze zapytanie używa nowszej składni SQL 99 do określenia złączeń.
Historycznie rzecz biorąc, Oracle stosunkowo późno zaadoptowało składnię SQL 99, istnieje ogromna ilość kodu, który został napisany przed udostępnieniem składni SQL 99, a wielu pracowników Oracle z przyzwyczajenia woli starą składnię. Z tych wszystkich powodów stosunkowo często zdarza się, że projekty oparte na Oracle korzystają wyłącznie ze starszej składni łączenia. Nie ma w tym nic złego (chociaż osobiście wolę nowszą składnię).