नहीं। ओरेकल, किसी भी अन्य उचित संबंधपरक डेटाबेस की तरह, अधिक कुशल होता है जब आप सेट-आधारित संचालन करते हैं और जब आप प्रक्रियात्मक रूप से अनुकरण करने वाले जॉइन (जैसे, नेस्टेड कर्सर लूप) के बजाय जुड़ते हैं।
हालांकि, मेरा अनुमान है कि आप वास्तव में उस कोड के बारे में बात नहीं कर रहे हैं जिसमें शामिल होने की कमी है। मेरा अनुमान है कि आप उस कोड के बारे में बात कर रहे हैं जो आपके आदी होने से अलग सिंटैक्स का उपयोग करता है। दोनों
SELECT a.*
FROM a
JOIN b ON (a.a_id = b.a_id)
JOIN c ON (b.b_id = c.b_id)
और
SELECT a.*
FROM a,
b,
c
WHERE a.a_id = b.a_id
AND b.b_id = c.b_id
वे क्वेरी हैं जो a
. से जुड़ती हैं करने के लिए b
करने के लिए c
. दो प्रश्न बिल्कुल समान हैं-- Oracle पार्सर वास्तव में पहली क्वेरी को दूसरे में आंतरिक रूप से फिर से लिखेगा। फर्क सिर्फ इतना है कि पहली क्वेरी अपने जॉइन को निर्दिष्ट करने के लिए नए SQL 99 सिंटैक्स का उपयोग करती है।
ऐतिहासिक रूप से, ओरेकल को एसक्यूएल 99 सिंटैक्स को अपनाने में अपेक्षाकृत देर हो चुकी थी, एसक्यूएल 99 सिंटैक्स उपलब्ध होने से पहले बहुत अधिक मात्रा में कोड लिखा गया था, और कुछ ओरेकल लोग आदत से पुराने स्टाइल सिंटैक्स को पसंद करते हैं यदि कुछ और नहीं। उन सभी कारणों से, पुराने जॉइन सिंटैक्स का उपयोग करके विशेष रूप से ओरेकल आधारित परियोजनाओं को ढूंढना अपेक्षाकृत आम है। इसमें स्वाभाविक रूप से कुछ भी गलत नहीं है (हालांकि मैं व्यक्तिगत रूप से नए सिंटैक्स को पसंद करता हूं)।