मेरे पास एक दृश्य है जो एक सीटीई का उपयोग कर तालिका से 2 इन्स लौटाता है। अगर मैं एक दूसरेएसक्यूएल सर्वर क्वेरी: परिवर्तनीय के साथ तेज़ लेकिन परिवर्तनीय
SELECT * FROM view1 WHERE ID = 1
से कम इस तरह दृश्य उस में चलाता है क्वेरी लेकिन अगर मैं इस तरह दृश्य क्वेरी यह 4 सेकंड लेता है।
DECLARE @id INT = 1
SELECT * FROM View1 WHERE ID = @id
2 क्वेरी योजनाओं जांच की है और पहली क्वेरी एक क्लस्टर सूचकांक 1 रिकॉर्ड लौटने तो है कि परिणाम सेट, करने के लिए दृश्य क्वेरी का शेष भाग को लागू करने के मुख्य मेज पर तलाश प्रदर्शन कर रहा है, जहां दूसरे प्रश्न के रूप में एक इंडेक्स स्कैन कर रहा है जो कि मुझे दिलचस्पी रखने के बजाय 3000 परिणाम रिकॉर्ड रिकॉर्ड कर रहा है और बाद में परिणाम सेट को फ़िल्टर कर रहा है।
क्या कुछ स्पष्ट है कि मैं इंडेक्स स्कैन के बजाय इंडेक्स सीक का उपयोग करने के लिए दूसरी क्वेरी प्राप्त करने का प्रयास करने के लिए याद कर रहा हूं। मैं एसक्यूएल 2008 का उपयोग कर रहा हूं लेकिन मुझे जो कुछ भी करने की ज़रूरत है वह एसक्यूएल 2005 पर भी चलने की जरूरत है। सबसे पहले मैंने सोचा कि यह कुछ प्रकार का पैरामीटर स्नीफिंग समस्या है, लेकिन अगर मैं कैश साफ़ करता हूं तो भी मुझे वही परिणाम मिलते हैं।
क्या डेटाटाइप आईडी है? – gbn
यह एक आईएनटी फ़ील्ड है – Gavin