मैं अपने विचार पर एक इंडेक्स बनाना चाहता हूं लेकिन मुझे यह सुनिश्चित करने की ज़रूरत है कि इंडेक्स बनने पर डेटा अभी भी पढ़ा जा सके।क्या SQL सर्वर 2005 तालिका पर एक गैर-क्लस्टर इंडेक्स बनाना चुनता है?
CREATE UNIQUE CLUSTERED INDEX CLUST_IDX_SQLTIPS
ON SQLTips (tip) with (ONLINE=ON)
मैं इस को सही ढंग से समझ रहा हूँ: मैं एक article कि सुझाव दिया है कि जब nonclustered अनुक्रमणिका बनाने कि डेटा अभी भी पठनीय यदि आप ऑनलाइन = (नीचे दिए गए उदाहरण) निर्दिष्ट विकल्प चालू है पढ़ रहा था? क्या कोई संभावित समस्या है जिसके बारे में मुझे अवगत होना चाहिए इससे पहले कि मैं इंडेक्स को ऐसे दृश्य पर बनाऊं जो मुझे अपनी अनुक्रमणिका बनाते समय पठनीय करने की आवश्यकता हो?
धन्यवाद मुझे इसका एहसास नहीं हुआ। मैं इस दृश्य पर दो इंडेक्स बनाने की योजना बना रहा हूं, आपके द्वारा उल्लिखित प्रारंभिक क्लस्टर और उसके बाद एक नॉनक्स्टर्ड। क्या आप प्रारंभिक क्लस्टर किए जाने पर डेटा को मेरे दृश्य में पढ़ने योग्य रखने के लिए किसी भी तरह से जानते हैं? बीटीडब्ल्यू मैं एंटरप्राइज़ संस्करण चला रहा हूं। –
क्लस्टर्ड इंडेक्स व्यू तालिका में पंक्तियों को लॉक करेगा, इस प्रकार लॉक की गई पंक्तियों (डिफ़ॉल्ट क्रमबद्धता स्तर के तहत) को पढ़ता है। टेबल कितनी बड़ी है? क्या हम कुछ सेकंड या इंडेक्स निर्माण के कुछ घंटों के बारे में बात कर रहे हैं? आप पढ़े गए स्नैपशॉट को सक्षम करने पर विचार कर सकते हैं, इससे SELECT को आगे असुरक्षित होने की अनुमति मिल जाएगी। लेकिन इसका सिस्टम पर वैश्विक प्रभाव पड़ता है, खासकर tempdb पर, इसलिए आपको निश्चित रूप से पहले परीक्षण करना चाहिए। –
तालिका में 9 मिलियन से अधिक रिकॉर्ड हैं। मैं सोच रहा हूं कि इंडेक्स बनाने में लगभग 15 मिनट लगेंगे। अगर लोग 15 मिनट तक नहीं पढ़ सकते हैं तो मुझे कोई समस्या होगी। क्या आप उस प्रभाव के बारे में अधिक विशिष्ट हो सकते हैं जो पढ़ने के लिए सक्षम है सिस्टम पर होगा? हाथ से पहले परीक्षण की सिफारिश कैसे करेंगे? –