Nee. Oracle is, net als elke andere redelijke relationele database, efficiënter wanneer u op sets gebaseerde bewerkingen uitvoert en wanneer u joins doet in plaats van procedureel joins te emuleren (met bijvoorbeeld geneste cursorlussen).
Mijn gok is echter dat je het niet echt hebt over code zonder joins. Ik vermoed dat je het hebt over code die een andere join-syntaxis gebruikt dan je gewend bent. Beide
SELECT a.*
FROM a
JOIN b ON (a.a_id = b.a_id)
JOIN c ON (b.b_id = c.b_id)
en
SELECT a.*
FROM a,
b,
c
WHERE a.a_id = b.a_id
AND b.b_id = c.b_id
zijn zoekopdrachten die zich bij a
voegen naar b
naar c
. De twee query's zijn precies identiek - de Oracle-parser zal de eerste query intern in de tweede herschrijven. Het enige verschil is dat de eerste query de nieuwere SQL 99-syntaxis gebruikt om de joins op te geven.
Historisch gezien was Oracle relatief laat met het adopteren van de SQL 99-syntaxis, er is een enorme hoeveelheid code geschreven voordat de SQL 99-syntaxis beschikbaar was, en nogal wat Oracle-mensen geven uit gewoonte de voorkeur aan de oude stijl-syntaxis als niets anders. Om al deze redenen is het relatief gebruikelijk om op Oracle gebaseerde projecten te vinden die uitsluitend de oudere join-syntaxis gebruiken. Daar is op zich niets mis mee (hoewel ik persoonlijk de voorkeur geef aan de nieuwere syntaxis).