आदेश का उपयोग करते समय:MySQL प्राथमिक कुंजी ड्रॉप करने के लिए एक अस्थायी तालिका का उपयोग क्यों करता है?
ALTER TABLE my_table DROP PRIMARY KEY;
राज्य (जब शो PROCESSLIST) के रूप में प्रकट होता है:
copy to tmp table
क्यों यह एक प्राथमिक कुंजी बाधा "ड्रॉप" करने के लिए एक tmp तालिका का उपयोग करने की आवश्यकता होगी?
"कार्यान्वयन विस्तार" ;-) मैं अंतर्निहित डेटा क्लस्टरिंग परिवर्तन शक - जैसे यह उस विशेष इंजन में "ढेर" या अन्यथा पुनः क्लस्टर में जाता है? (? InnoDB MyISAM?) के बाद से यह एक DDL आपरेशन है - और नहीं एक आम एक - "सबसे आसान तरीका है" अक्सर "सबसे अच्छा तरीका है", खासकर अगर यह अच्छी तरह से परीक्षण किया/सत्यापित कोड रास्तों का पुन: उपयोग कर सकते हैं। –