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