जैसा कि @MartinSmith ने कहा कि अगर आप कभी SQL 2008 में अपग्रेड करते हैं तो एक फ़िल्टर किया गया इंडेक्स सही समाधान होगा। हालांकि सामान्य समय के दौरान किसी भी जोड़े गए इंडेक्स से आपके लोड समय में वृद्धि होगी। छोटे सूचकांक बड़े लोगों की तुलना में कम होते हैं।
एक बात मैं देखूंगा कि क्या आपके पास एक मौजूदा सूचकांक है जिसे संशोधित किया जा सकता है। मान लें कि आपके मौजूदा प्रश्न किसी दिए गए सूचकांक का उपयोग कर रहे हैं, तो उस सूचकांक के अंत में थोड़ा कॉलम जोड़ने से आवेषण पर न्यूनतम प्रभाव और आपके प्रश्नों पर सकारात्मक प्रभाव दिखाई दे रहा है।
अगली बात यह है कि "क्या मेरे पास पहले से ही बहुत सारे सूचकांक हैं?" कोई कठिन और तेज़ नियम नहीं है जैसा कि "बहुत कुछ" है, लेकिन मैं आमतौर पर 10 इंडेक्स के नियम से जाता हूं, यह सीमा है जब तक मुझे वास्तव में एक नए की आवश्यकता नहीं होती है।
अंतिम विचार, परीक्षण उदाहरण पर इसका परीक्षण करें। कुछ मिलियन पंक्तियों के साथ एक तालिका सेट करें, उस पर अपना लोड चलाएं, अपना इंडेक्स जोड़ें फिर अपना लोड फिर से चलाएं और देखें कि क्या आपको लोड समय में उल्लेखनीय वृद्धि दिखाई देती है।
केवल आप वास्तव में तय कर सकते हैं कि "महत्वपूर्ण" क्या है। मेरे पास मशीनें हैं जहां लोड समय में 5 मिनट जोड़ना "महत्वपूर्ण" है और अन्य जहां मैं सुरक्षित रूप से कुछ घंटे की वृद्धि देख सकता हूं।
संपादित करें:
एक अन्य विकल्प अपनी तालिका को विभाजित करना है। यदि आप एंटरप्राइज़ संस्करण का उपयोग नहीं कर रहे हैं, तो भी आपको एक विभाजन दृश्य का उपयोग करना पड़ सकता है लेकिन फिर भी यह मदद करनी चाहिए। आप अपने बिट 0 को एक पार्टीशन में रखते हैं और आपका बिट 1 एस दूसरे में। मान लें कि आप केवल एक संस्करण या दूसरे को सम्मिलित कर रहे हैं तो आप अपने आवेषण में तेजी ला सकते हैं।