2016-07-02 2 views
1

У меня есть таблица продаж с миллионами записей, и я хочу расширить ее с помощью нового поля. Я знаю, что ALTER TABLE, несомненно, приведет к бесконечному процессу. Есть ли более быстрый способ сделать это?ALTER TABLE с большим количеством строк

+0

создать отдельную временную таблицу с нового столбца, а затем перенести данные из старой таблицы в новую затем удалить старый и переименовать новую таблицу, это будет быстрее, чем изменять таблицу –

+0

Отлично! Но как? В любом случае попробуем это – WarWik

+0

Проверьте оптимизацию операторов ALTER TABLE в: http://www.cocomore.com/blog/mysql-query-optimization – Malinga

ответ

1

Создать таблицу TEMP_TABLE С similer к старому столу с дополнительным столбцом

INSERT INTO TAMP_TABLE (SELECT * FROM TABLE); 

DROP TABLE OLD_TABLE; 

RENAME TABLE TEMP_TABLE TO OLD_TABLE_NAME; 
Смежные вопросы