破坏力较小:多个小型变更表查询或一个大型查询表

时间:2019-09-23 11:18:30

标签: mysql

ALTER TABLE tbl DROP COLUMN col1, ALGORITHM=INPLACE, LOCK=NONE;
ALTER TABLE tbl DROP COLUMN col2, ALGORITHM=INPLACE, LOCK=NONE;
ALTER TABLE tbl DROP COLUMN col3, ALGORITHM=INPLACE, LOCK=NONE;

vs

ALTER TABLE tbl 
DROP COLUMN col1, col2, col3, 
ALGORITHM=INPLACE, LOCK=NONE;

我有一个非常大的表(数百万条记录),需要从中删除一些列。该表已被大多数端点广泛使用。

我希望删除这些列,而对API响应时间的影响最小。

哪种方法可能造成最少的干扰?

例如,也许单个查询将导致更长的总表锁定时间,但是每个锁定可能会更短,并且如果我将它们间隔开,那么对API的破坏也会更少。

0 个答案:

没有答案