ALTER TABLE ADD COLUMN takes a long time

后端 未结 3 821
青春惊慌失措
青春惊慌失措 2020-12-02 05:14

I was just trying to add a column called \"location\" to a table (main_table) in a database. The command I run was

ALTER TABLE main_table ADD COLUMN location         


        
3条回答
  •  伪装坚强ぢ
    2020-12-02 05:38

    I think the appropriate answer for this is using a feature like pt-online-schema-change or gh-ost.

    We have done migration of over 4 billion rows with this, though it can take upto 10 days, with less than a minute of downtime.

    Percona works in a very similar fashion as above

    • Create a temp table
    • Creates triggers on the first table (for inserts, updates, deletes) so that they are replicated to the temp table
    • In small batches, migrate data
    • When done, rename table to new table, and drop the other table

提交回复
热议问题