2009-12-31 14 views
9

कौन सा विकल्प बेहतर और तेज़ है? रिक्त तालिका पर अनुक्रमणिका बनाने या डेटा डालने के बाद अद्वितीय अनुक्रमणिका बनाने के बाद डेटा सम्मिलन। मेरे पास डालने के लिए लगभग 10 एम पंक्तियां हैं I कौन सा विकल्प बेहतर होगा ताकि मैं कम से कम डाउनटाइम कर सकूं।रिक्त टेबल पर इंडेक्स बनाने या ऑरैकल पर डेटा डालने के बाद अद्वितीय इंडेक्स बनाने के बाद डेटा सम्मिलन?

उत्तर

19

पहले अपना डेटा डालें, फिर अपनी अनुक्रमणिका बनाएं।

हर बार जब आप अद्यतन, इंसर्ट या डिलीट ऑपरेशन करते हैं, तो तालिका पर किसी भी इंडेक्स को भी अपडेट किया जाना चाहिए। इसलिए यदि आप पहले इंडेक्स बनाते हैं, और फिर 10 एम पंक्तियां डालें, तो इंडेक्स को 10 एम बार अपडेट किया जाना चाहिए (जब तक कि आप थोक ऑपरेशन नहीं कर रहे हों)।

6

रिकॉर्ड डालने के लिए यह तेज़ और बेहतर है और फिर पंक्तियों के आयात के बाद सूचकांक बनाएं। यह तेज़ है क्योंकि आपके पास इंडेक्स रखरखाव का ओवरहेड नहीं है क्योंकि पंक्तियां डाली जाती हैं और यह आपके इंडेक्स पर एक विखंडन दृष्टिकोण से बेहतर है।

स्पष्ट रूप से एक अद्वितीय इंडेक्स के लिए, सुनिश्चित करें कि आपके द्वारा आयात किया जा रहा डेटा अद्वितीय है इसलिए इंडेक्स बनाने की कोशिश करते समय आपको विफलता नहीं है।

2

जैसा कि अन्य ने कहा है, पहले डालें और बाद में इंडेक्स जोड़ें। यदि तालिका पहले से मौजूद है और आपको इस तरह के डेटा का ढेर डालना है, तो सभी इंडेक्स और बाधाओं को छोड़ दें, डेटा डालें, फिर अपनी अनुक्रमणिका और फिर अपनी बाधाओं को दोबारा लागू करें। आप निश्चित रूप से रोलबैक सेगमेंट स्पेस या कुछ इसी तरह से बाहर निकलने की संभावना को रोकने में मदद के लिए इंटरमीडिएट कमेटी करना चाहते हैं। यदि आप इस डेटा को सम्मिलित कर रहे हैं तो यह समय और वृद्धि को बचाने के लिए SQL * लोडर का उपयोग करने के लिए उपयोगी साबित हो सकता है।

मुझे उम्मीद है कि इससे मदद मिलती है।

+0

"अक्सर जाने गलत धारणा है कि आप संसाधनों का संरक्षण कर रहे हैं या चीजों को बनाने में करने के लिए तेजी से केवल आप के लिए यह करता है: ओ आप धीमा कर देती है नीचे, हाँ, यह सही है, आप को धीमा कर देती है - आप SLOOOWWWWEEERRR चलाने बनाता है o किसी भी संसाधन को संरक्षित नहीं करता है, वास्तव में, यह अधिक खपत करता है (आप अधिक फिर से उत्पन्न करते हैं) o गंभीरता से आपके डेटा की अखंडता पर सवाल उठाता है " – Angelina

संबंधित मुद्दे

 संबंधित मुद्दे