नहीं, SQL सर्वर स्वचालित रूप से गैर-संकुल अनुक्रमणिका नहीं बनाता है।
एक संकुल अनुक्रमणिका प्राथमिक कुंजी के आधार पर स्वचालित रूप से बनाई जाती है, जब तक कि आपका CREATE TABLE
बयान अन्यथा कहता है।
हां, मैं विदेशी कुंजी स्तंभों को अनुक्रमित करने की अनुशंसा करता हूं क्योंकि इनमें IN
का उपयोग करके शामिल होने/खोज किए जाने की सबसे अधिक संभावना है , EXISTS
, आदि। हालांकि, इस बात से अवगत रहें कि मूल्यों के निम्न कार्डिनैलिटी सेट (उदाहरण के लिए लिंग) पर एक इंडेक्स अपेक्षाकृत बेकार होगा क्योंकि मूल्यों में पर्याप्त अंतर नहीं है।
सभी अनुक्रमितों के साथ व्यापार-बंद यह है कि वे डेटा पुनर्प्राप्ति को गति दे सकते हैं, लेकिन डेटा प्रविष्टि/अद्यतन/विलोपन को धीमा कर सकते हैं। ऐसे रखरखाव भी हैं जिन्हें करने की आवश्यकता है क्योंकि वे खंडित हो सकते हैं (जैसे हार्ड ड्राइव) लेकिन समय के साथ उपयोग नहीं भी हो सकते हैं। इंडेक्स भी ड्राइव स्पेस लेते हैं।