【发布时间】:2014-10-29 18:10:47
【问题描述】:
MySQL 5.6 声称 DDL 操作将以最大可能的并发性运行。 http://dev.mysql.com/doc/refman/5.6/en/innodb-create-index-overview.html
“允许并发 DML?”列显示哪些操作可以完全在线执行;首选值为“是”。您可以指定 LOCK=NONE 来断言在 DDL 期间允许完全并发,但 MySQL 会在可能的情况下自动允许此级别的并发。当允许并发 DML 时,也总是允许并发查询。
但是,我刚刚尝试了“ALTER TABLE ADD COLUMN...”语句,并且该表在此操作期间似乎被锁定。 当我重新运行该语句并附加“,ALGORITHM=inplace,LOCK=none”时,它需要更长的时间,但该表仍然可以使用。我认为 MySQL 会为特定语句使用可用的最高并发级别,那么为什么我必须明确指定它们?
【问题讨论】:
标签: mysql