BETWEEN चाहिए बेहतर प्रदर्शन करें IN इस मामले में (लेकिन करें निष्पादन योजनाओं को भी मापें और जांचें!), विशेष रूप से n . के रूप में बढ़ता है और चूंकि आंकड़े अभी भी सटीक हैं। आइए मान लें:
mआपकी तालिका का आकार हैnआपकी सीमा का आकार है
इंडेक्स का उपयोग किया जा सकता है (n m . की तुलना में छोटा है )
-
सैद्धांतिक रूप से,
BETWEENप्राथमिक कुंजी अनुक्रमणिका पर एकल "रेंज स्कैन" (ओरेकल स्पीक) के साथ कार्यान्वित किया जा सकता है, और फिर अधिकतमnपर ट्रैवर्स किया जा सकता है इंडेक्स लीफ नोड्स। जटिलताO(n + log m). होगी -
INआमतौर परn. की एक श्रृंखला (लूप) के रूप में लागू किया जाता है प्राथमिक कुंजी अनुक्रमणिका पर "रेंज स्कैन"।m. के साथ तालिका का आकार होने के कारण, जटिलता हमेशा रहेगीO(n * log m)... जो हमेशा बदतर होता है (बहुत छोटी तालिकाओं के लिए नगण्यmया बहुत छोटी रेंजn)
इंडेक्स का उपयोग नहीं किया जा सकता (n m . का एक महत्वपूर्ण हिस्सा है )
किसी भी स्थिति में, आप एक पूर्ण तालिका स्कैन प्राप्त करेंगे और प्रत्येक पंक्ति पर विधेय का मूल्यांकन करेंगे:
-
BETWEENदो विधेय का मूल्यांकन करने की आवश्यकता है:एक निचले के लिए और एक ऊपरी सीमा के लिए। जटिलताO(m). है -
INज़्यादा से ज़्यादाnevaluate का मूल्यांकन करने की ज़रूरत है भविष्यवाणी करता है जटिलता हैO(m * n)... जो हमेशा बदतर होता है, या शायदO(m)यदि डेटाबेसIN. को ऑप्टिमाइज़ कर सकता है विधेय की सूची के बजाय हैशमैप की सूची बनाएं।