सूचकांक REBUILD सूचकांक के टुकड़े को कम क्यों नहीं करता है?


30

मैंने सूचकांक विखंडन को दूर करने के लिए ALTER INDEX REBUILD का उपयोग किया है। कुछ मामलों में REBUILD इस विखंडन को दूर नहीं करता है। क्या कारण हैं कि REBUILD विखंडन को दूर नहीं करता है? ऐसा लगता है कि यह विशेष रूप से छोटे सूचकांकों के साथ होता है।


जवाबों:


39

यदि कोई इंडेक्स बहुत छोटा है (मेरा मानना ​​है कि 8 पेज से कम) यह मिश्रित एक्सटेंस का उपयोग करेगा। इसलिए, ऐसा प्रतीत होता है जैसे कि अभी भी विखंडन शेष है, क्योंकि आवास सीमा में कई अनुक्रमित के पृष्ठ होंगे।

इस वजह से, और यह भी तथ्य यह है कि इस तरह के एक छोटे सूचकांक में कि विखंडन आमतौर पर लापरवाही है, आपको वास्तव में केवल एक निश्चित पृष्ठ सीमा के साथ अनुक्रमणिका का पुनर्निर्माण करना चाहिए। खंडित अनुक्रमितों को फिर से बनाना सबसे अच्छा अभ्यास है जो न्यूनतम 1000 पृष्ठ हैं


34

यह बहुत बड़े सूचकांक के साथ भी हो सकता है।

मेरे पास लगभग 700 मीटर पंक्तियों वाली एक मेज पर कुछ अनुक्रमित थे जिन्हें मैं लगभग 30% से नीचे डीफ़्रैग्मेन्ट नहीं कर सकता था। इंडेक्स को लगातार व्यवस्थित करने के लिए मुद्दा डेटाबेस के अंदर पर्याप्त सन्निहित खाली स्थान नहीं था।

एक बहुत बड़े सूचकांक के चारों ओर काम करने के लिए जो डीफ़्रैग्मेंट नहीं करेगा, BEST समाधान एक नए डेटाबेस को पूर्व-आकार देना है और अपनी सभी वस्तुओं को उस DB में ले जाना है, फिर वहां अपने अनुक्रमित को फिर से बनाना है।


1

मैंने कुछ समय तक इसके साथ संघर्ष किया है और जेएनके I की तरह हालांकि समस्या मुक्त स्थान और डिस्क पर भौतिक विखंडन जारी है। हालाँकि, आप इसके बारे में क्या करते हैं SSD SAN?

मुझे अब पता चला है कि यह केवल index_level = 0 को शामिल करने के लिए एक अच्छा विचार हो सकता है। यह ओला हॉलनग्रेन की स्क्रिप्ट में कैसे किया जाता है।

एक और सुधार करना है

 REBUILD With (maxdop = 1)

इस तरह आप अधिकतम सुधार सुनिश्चित करते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.