Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL 5.6 - таблицата се заключва дори когато се използва ALGORITHM=inplace

Предполагам, че не сте правили някакъв друг DDL на тази маса приблизително по същото време?

За бъдещето:

8.0.12 има ALTER TABLE .. ALGORITHM=INSTANT за ADD COLUMN . Вижте Дискусия и ALTER Reference и Онлайн справочник за DDL

Следните ограничения се прилагат, когато алгоритъмът МОМЕНТ се използва за добавяне на колона:

  • Добавянето на колона не може да се комбинира в същия израз с други действия ALTER TABLE, които не поддържат ALGORITHM=INSTANT.
  • Колона може да бъде добавена само като последна колона на таблицата. Добавянето на колона към която и да е друга позиция сред другите колони не се поддържа.
  • Колоните не могат да се добавят към таблици, които използват ROW_FORMAT=COMPRESSED.
  • Колоните не могат да се добавят към таблици, които включват индекс FULLTEXT.
  • Колоните не могат да се добавят към временни таблици. Временните таблици поддържат само ALGORITHM=COPY.
  • Колоните не могат да се добавят към таблици, които се намират в табличното пространство на речника с данни.
  • Ограниченията за размера на редовете не се оценяват при добавяне на колона. Ограниченията за размера на редовете обаче се проверяват по време на DML операции, които вмъкват и актуализират редове в таблицата.

В един и същ оператор ALTER TABLE могат да бъдат добавени няколко колони.

Ако не можете да надстроите, помислете за pt-online-schema-change на Percona или нов, конкурентен продукт gh-ost (който използва binlog).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. В MySQL какво означава Overhead, какво е лошото в него и как да го поправя?

  2. как да създадете db mysql с sqlalchemy

  3. Odd IntegrityError на MySQL:#1452

  4. PHP PDO Bit(1) връща грешен тип данни

  5. Използване на MySQL GeoSpatial типове данни в .NET