क्या एक प्रश्न जारी करने और दो प्रश्न जारी करने में कोई अंतर है? खैर, मुझे निश्चित रूप से उम्मीद है। SQL इंजन काम कर रहा है, और यह दो प्रश्नों के लिए (एक निश्चित दृष्टिकोण से) दोगुना काम करता है।
सामान्य तौर पर, एक क्वेरी को पार्स करना एक क्वेरी को पार्स करने, एक मध्यवर्ती परिणाम सेट को वापस करने और फिर उसे दूसरी क्वेरी में फीड करने की तुलना में तेज़ होने वाला है। क्वेरी संकलन में और डेटा को आगे-पीछे करने में ओवरहेड होता है।
इस प्रश्न के लिए:
select *
from users u inner join
location l
on u.location = l.id
where u.location = 10;
आप users(location)
. पर एक अनुक्रमणिका चाहते हैं और location(id)
।
मैं कुछ और इंगित करना चाहता हूं। प्रश्न समकक्ष नहीं हैं। वास्तविक तुलना क्वेरी है:
select l.*
from location l
where l.id = 10;
आप where
. के लिए एक ही कॉलम का उपयोग कर रहे हैं और on
. इसलिए, यह सबसे कुशल संस्करण होगा और आप location(id)
. पर एक इंडेक्स चाहते हैं ।