2010-09-01 22 views
9

में किसी तालिका से सभी पंक्तियों को कुशलतापूर्वक कैसे हटाएं मेरे पास एक सारणी है जिसमें आधा मिलियन पंक्तियां हैं और मैं सभी पंक्तियों को हटाना चाहता हूं।डीबी 2

यदि मैं सरल delete from tbl करता हूं, लेनदेन लॉग भर जाता है। मुझे इस मामले में लेनदेन की परवाह नहीं है, मैं किसी भी मामले में रोलबैक नहीं करना चाहता हूं। मैं कई लेनदेन में पंक्तियों को हटा सकता हूं, लेकिन क्या इसके लिए कोई बेहतर तरीका है?

डीबी 2 में किसी तालिका से सभी पंक्तियों को कुशलता से कैसे हटाएं? क्या मैं इस आदेश के लिए किसी भी तरह के लेनदेन को अक्षम कर सकता हूं या ऐसा करने के लिए विशेष आदेश हैं (जैसे truncate MySQL में)?

पंक्तियों को हटाने के बाद, मैं डेटाबेस को उसी तरह के नए डेटा के साथ दोहरा दूंगा।

उत्तर

14

ऐसा लगता है कि निम्न आदेश works डीबी 2 के नए संस्करणों में।

TRUNCATE TABLE someschema.sometable IMMEDIATE 
7

डीबी 2 में एक टेबल काटना के लिए, बस लिखना:

alter table schema.table_name activate not logged initially with empty table 

क्या मैं पढ़ने में सक्षम था से, इस प्रवेश के किसी भी प्रकार जो अपने सर्वर पर मैं बहुत आसान नहीं होगा कर के बिना तालिका सामग्री हट जाएगी/हे।

+1

यह लॉगिंग की कमी के कारण प्रतिकृति/हैडर पर्यावरण में काम नहीं कर सकता है। –

+1

यह उन लोगों के लिए एक बहुत ही उपयोगी उत्तर है जिन्हें डीबी 2 के संस्करणों पर एक टेबल साफ़ करने की आवश्यकता है, जिनके पास ट्रंकेट टेबल स्टेटमेंट नहीं है। –

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