गतिशील खोज स्थितियों के लिए सर्वोत्तम स्रोत:
एरलैंड सोमरस्कोग द्वारा टी-एसक्यूएल में गतिशील खोज स्थितियां
आप इसे कैसे करते हैं, इस पर बहुत सारे सूक्ष्म प्रभाव हैं जैसे कि किसी अनुक्रमणिका का उपयोग किया जा सकता है या नहीं। यदि आप SQL Server 2008 की उचित रिलीज़ पर हैं तो आप बस OPTION (RECOMPILE)
जोड़ सकते हैं क्वेरी के लिए और रन टाइम पर स्थानीय चर के मान का उपयोग अनुकूलन के लिए किया जाता है।
इस पर विचार करें, OPTION (RECOMPILE)
इस कोड को लेगा (जहां OR
. की इस गड़बड़ी के साथ किसी अनुक्रमणिका का उपयोग नहीं किया जा सकता है रों):
WHERE
(@search1 IS NULL or [email protected])
AND (@search2 IS NULL or [email protected])
AND (@search3 IS NULL or [email protected])
और इसे रन टाइम पर ऑप्टिमाइज़ करें (बशर्ते कि केवल @Search2 को मान के साथ पास किया गया हो):
WHERE
[email protected]
और एक इंडेक्स का उपयोग किया जा सकता है (यदि आपके पास कॉलम 2 पर परिभाषित है)