मैं एक समग्र प्रदर्शन परियोजना के हिस्से के रूप में एक तथ्य तालिका लोड को तेज करने की कोशिश कर रहा हूं। तालिका लगभग 120 मिलियन पंक्तियों में लगभग हर शाम 100k जोड़ दी जाती है। तालिका बहुत भारी अनुक्रमित है।फास्ट लोड गंतव्य के साथ टेबल लॉक विकल्प का उपयोग करने के क्या परिणाम हैं?
वर्तमान में मैं एक एसएसआईएस फास्ट लोड ओएलई डीबी गंतव्य का उपयोग कर रहा हूं और 100,000 पंक्तियों को लोड करने में लगभग 15 मिनट लगते हैं। यह 100k पंक्तियों को सम्मिलित करने के लिए वास्तव में मेरे लिए बहुत अधिक लग रहा था, इसलिए मैंने पैकेज को अपने परिणामों को एक स्टेजिंग टेबल में डंप करने के लिए बदल दिया, फिर उस स्टेजिंग तालिका से तथ्य तालिका में एक टी-एसक्यूएल डालने लगा। डालने अब 1 मिनट से भी कम समय में चलता है।
मुझे यह काफी अजीब लगता है कि एसएसआईएस फास्ट लोड की तुलना में एक सादा पुराना टी-एसक्यूएल डालने तेज होगा, इसलिए मैंने ओएलडीडीबी गंतव्य पर कौन से बक्से की जांच की थी। यह पता चला कि टेबल लॉक की जांच नहीं की गई थी। जब मैंने इस विकल्प की जांच की, तो एसएसआईएस लोड अब 1 मिनट से कम है। मेरे प्रश्न हैं:
- टेबल लॉक को छोड़ने के प्रभाव क्या हैं?
- क्या टी-एसक्यूएल सम्मिलन कथन डिफ़ॉल्ट रूप से एक टेबल लॉक जारी करता है और यही कारण है कि यह शुरुआत में तेज़ था?
आह, इसलिए एकाधिक पंक्ति स्तर ताले धीमेपन की व्याख्या करेंगे। अच्छा है धन्यवाद। – AS2012
@ AS2012: केवल इतना ही नहीं, लेकिन अधिक ताले भी अधिक स्मृति लेते हैं। वहां से जुड़े लेख इस विषय पर बहुत प्रासंगिक और विस्तृत हैं। –