हम जहां इसके खिलाफ सभी प्रश्नों देखने के बीच एक होना Column1
और Column2
का उपयोग कर होगा दो लाख से अधिक पंक्तियों के साथ एक मेज है। इसके अलावा, केवल एक संभावित परिणाम होगा। उदाहरण के लिए ...केवल एक मैच के साथ क्वेरी के बीच एसक्यूएल अनुक्रमण?
Col1 Col2
1 5
6 10
11 15
select * from table1 where 8 between Col1 and Col2
मैं वर्तमान में Col1
और Col2
पर एक अनन्य संकुल अनुक्रमणिका है। अब तक मैं यह पता लगाने में असमर्थ हूं कि क्वेरी और इंडेक्स को पंक्तियों को कम करने के लिए कैसे आगे बढ़ना है। निष्पादन योजना वर्तमान में एक और एकमात्र सही उत्तर का पता लगाने के दौरान लगभग 0.5 और 113k पंक्तियों की लागत की रिपोर्ट करती है।
मुझे कौन से विकल्प दिख रहे हैं?
के रूप में अनुरोध किया है, वर्तमान कार्य योजना लागू से कुछ विवरण:
Operation
Clustered Index Seek
Predicate
CONVERT_IMPLICIT(bigint,[@2],0)<=[Col2]
Seek Predicate
Seek Keys[1]: End: Col1 <= Scalar Operator(CONVERT_IMPLICIT(bigint,[@1],0))
क्या यह इसे 'तालिका * से चुनें * जहां से कॉल 1 = < 8 and Col2> = 8' – Vicki
क्या कॉल 1 में हमेशा चरण 5 है? यदि ऐसा है तो उत्तर सरल है :) –
आपके द्वारा निष्पादन योजना की तरह क्या दिखता है? क्या आप इसे प्रश्न में जोड़ सकते हैं? –