ALTER TABLE
. Anda pernyataan menyiratkan mysql harus menulis ulang setiap baris tabel termasuk kolom baru. Karena Anda memiliki lebih dari 2 juta baris, saya pasti berharap itu membutuhkan banyak waktu, di mana server Anda kemungkinan besar akan terikat IO. Biasanya Anda akan merasa lebih baik jika melakukan hal berikut:
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;
Dengan cara ini Anda menambahkan kolom pada tabel kosong, dan pada dasarnya menulis data di tabel baru yang Anda yakin tidak akan dilihat orang lain tanpa mengunci sumber daya sebanyak mungkin.