मैं प्राथमिक कुंजी पर एक संकुल सूचकांक के साथ एक SQL सर्वर डेटाबेस में एक तालिका है। तालिका में 1 मिलियन पंक्तियाँ हैं। यदि मैं तालिका से 10K पंक्तियों को हटाता हूं, तो क्या डिलीट ऑपरेशन के दौरान इंडेक्स का पुनर्गठन किया जाता है?
विलोपन ऑपरेशन संग्रहीत कार्यविधि का हिस्सा है। एक समय में, एक से अधिक क्लाइंट संग्रहीत कार्यविधि को निष्पादित कर सकते हैं, हालांकि प्रत्येक व्यक्तिगत रन हटा देगा यह पंक्तियों का अपना सेट है (विशिष्ट रूप से प्राथमिक कुंजी द्वारा पहचाना गया)। जब कई क्लाइंट कार्यविधि निष्पादित करते हैं, तो मुझे कुंजी लॉक (प्रकार U) पर ब्लॉक करना होता है। अवरोधक लॉक एक ही तालिका से एक पंक्ति के अंतर्गत आता है और यह समवर्ती चल रहे लेन-देन में से किसी का हिस्सा नहीं है। इसमें कोई अवरोध नहीं होना चाहिए क्योंकि प्रत्येक रन पंक्तियों के अपने सेट को हटाने की कोशिश कर रहा है। लॉक एस्केलेशन बंद होते ही नहीं हो रहा है।
मुझे संदेह है, विलोपन कार्रवाई को फिर से संतुलित करने के लिए सूचकांक का कारण होना चाहिए और इसलिए पुनर्गठन प्रक्रिया के दौरान यह तालिका की किसी भी पंक्ति पर मुख्य लॉक ले सकता है।
मैं वास्तव में इस पर किसी भी राय की सराहना करूंगा।