आपका ALTER TABLE
कथन का तात्पर्य है कि MySQL को नए कॉलम सहित तालिका की प्रत्येक पंक्ति को फिर से लिखना होगा। चूंकि आपके पास 2 मिलियन से अधिक पंक्तियां हैं, मैं निश्चित रूप से उम्मीद करता हूं कि इसमें काफी समय लगेगा, जिसके दौरान आपका सर्वर अधिकतर आईओ-बाध्य होगा। आप आमतौर पर निम्न कार्य करने के लिए अधिक प्रदर्शनकारी पाएंगे:
CREATE TABLE main_table_new LIKE main_table;
ALTER TABLE main_table_new ADD COLUMN location VARCHAR(256);
INSERT INTO main_table_new SELECT *, NULL FROM main_table;
RENAME TABLE main_table TO main_table_old, main_table_new TO main_table;
DROP TABLE main_table_old;
इस तरह आप खाली टेबल पर कॉलम जोड़ते हैं, और मूल रूप से उस नई टेबल में डेटा लिखते हैं जो आपको यकीन है कि कोई और नहीं देखेगा बिना ज्यादा से ज्यादा संसाधनों को लॉक किए।