हमारे पास 150+ मिलियन रिकॉर्ड के साथ एक टेबल है। हमें सभी पंक्तियों को साफ़/हटाने की जरूरत है। हटाएं ऑपरेशन टी-लॉग को लिखने के कारण हमेशा के लिए ले जाएगा और हम पूरे डीबी के लिए हमारे रिकवरी मॉडल को नहीं बदल सकते हैं। हमने ट्रंकेट टेबल विकल्प का परीक्षण किया है।थोक हटाएं (छंटनी बनाम हटाएं)
हमें क्या एहसास हुआ कि truncate तालिका से पृष्ठों को हटा देता है, और यदि मैं गलत नहीं हूं तो उन्हें पुन: उपयोग के लिए उपलब्ध कराया जाता है लेकिन स्वचालित रूप से डीबी को कम नहीं करता है। इसलिए, अगर हम डीबी आकार को कम करना चाहते हैं, तो हमें टेबल को छोटा करने के बाद वास्तव में डीबी कमांड को चलाने की आवश्यकता होगी।
क्या यह सामान्य प्रक्रिया है? हमें कुछ भी सावधान या जागरूक होने की आवश्यकता है, या क्या कोई बेहतर विकल्प हैं?
एसक्यूएल सर्वर पर, 'ड्रॉप table' नहीं किया जा सकता, अगर वहाँ विदेशी कुंजी की कमी कर रहे हैं। http://msdn.microsoft.com/en-us/library/ms173790.aspx – ProKiner
@prokiner आपको विदेशी कुंजी संदर्भों से निपटने के लिए कोई फर्क नहीं पड़ता, चाहे कोई भी पंक्ति हटा दी जाए, घट जाए या गिरा दिया जाए, कोई रिकॉर्ड इस पंक्ति को संदर्भित करने वाली अन्य तालिकाओं में या तो पहले हटा दिया जाना चाहिए या बाधा को हटा दिया जाना चाहिए। कुछ मामलों में यह ऑन डिलीट ट्रिगर्स के साथ "स्वचालित" हो सकता है, लेकिन यह 150+ मिलियन प्रकार के डेटाबेस पर शायद ही लागू होता है। – mjv
@prokiner, मुझे और अधिक स्पष्ट होना चाहिए था।वे दो अलग-अलग विचार थे, मैं इस मुद्दे को इंगित कर रहा था कि ओपी ने कहा था कि उन्होंने कटाई विधि का परीक्षण किया था। मैंने अपना जवाब साफ कर लिया है। –