sql >> Databasteknik >  >> RDS >> Mysql

MySQL 5.6 - tabell låser även när ALGORITHM=inplace används

Jag antar att du inte gjorde någon annan DDL på det bordet ungefär samtidigt?

För framtiden:

8.0.12 har ALTER TABLE .. ALGORITHM=INSTANT för ADD COLUMN . Se Diskussion och ALTER Reference och DDL-referens online

Följande begränsningar gäller när INSTANT-algoritmen används för att lägga till en kolumn:

  • Att lägga till en kolumn kan inte kombineras i samma programsats med andra ALTER TABLE-åtgärder som inte stöder ALGORITHM=INSTANT.
  • En kolumn kan bara läggas till som den sista kolumnen i tabellen. Det går inte att lägga till en kolumn till någon annan position bland andra kolumner.
  • Kolumner kan inte läggas till i tabeller som använder ROW_FORMAT=COMPRESSED.
  • Kolumner kan inte läggas till i tabeller som innehåller ett FULLTEXT-index.
  • Kolumner kan inte läggas till i tillfälliga tabeller. Tillfälliga tabeller stöder endast ALGORITHM=COPY.
  • Kolumner kan inte läggas till i tabeller som finns i datadictionary-tabellutrymmet.
  • Radstorleksgränser utvärderas inte när en kolumn läggs till. Däremot kontrolleras radstorleksbegränsningar under DML-operationer som infogar och uppdaterar rader i tabellen.

Flera kolumner kan läggas till i samma ALTER TABLE-sats.

Om du inte kan uppgradera, överväg Perconas pt-online-schema-change eller en ny, konkurrerande produkt gh-ost (som använder binloggen).



  1. mysql välj uppdatering

  2. randomisera stor datamängd

  3. Hur ställer jag in tidszonen för MySQL?

  4. hur man hämtar text från pdf-fil och sparar den i DB