Nej. Oracle, som alla andra rimliga relationsdatabaser, är effektivare när du gör uppsättningsbaserade operationer och när du gör joins snarare än att procedurmässigt emulera joins (med till exempel kapslade markörslingor).
Min gissning är dock att du egentligen inte pratar om kod som saknar joins. Min gissning är att du pratar om kod som använder en annan join-syntax än du är van vid. Båda
SELECT a.*
FROM a
JOIN b ON (a.a_id = b.a_id)
JOIN c ON (b.b_id = c.b_id)
och
SELECT a.*
FROM a,
b,
c
WHERE a.a_id = b.a_id
AND b.b_id = c.b_id
är frågor som ansluter till a
till b
till c
. De två frågorna är exakt identiska - Oracle-parsern kommer faktiskt internt att skriva om den första frågan till den andra. Den enda skillnaden är att den första frågan använder den nyare SQL 99-syntaxen för att specificera dess kopplingar.
Historiskt sett var Oracle relativt sent att anta SQL 99-syntaxen, det finns en enorm mängd kod som skrevs innan SQL 99-syntaxen var tillgänglig, och en hel del Oracle-folk föredrar den gamla stilsyntaxen av vana om inget annat. Av alla dessa skäl är det relativt vanligt att hitta Oracle-baserade projekt med enbart den äldre join-syntaxen. Det är inget fel med det (även om jag personligen föredrar den nyare syntaxen).