Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL 5.6 - blocchi della tabella anche quando viene utilizzato ALGORITHM=inplace

Presumo che tu non stia facendo qualche altro DDL su quel tavolo più o meno nello stesso momento?

Per il futuro:

8.0.12 ha ALTER TABLE .. ALGORITHM=INSTANT per ADD COLUMN . Vedi Discussione e Riferimento ALTER e Riferimento DDL online

Le seguenti limitazioni si applicano quando si utilizza l'algoritmo INSTANT per aggiungere una colonna:

  • L'aggiunta di una colonna non può essere combinata nella stessa istruzione con altre azioni ALTER TABLE che non supportano ALGORITHM=INSTANT.
  • Una colonna può essere aggiunta solo come ultima colonna della tabella. L'aggiunta di una colonna a qualsiasi altra posizione tra le altre colonne non è supportata.
  • Non è possibile aggiungere colonne alle tabelle che utilizzano ROW_FORMAT=COMPRESSED.
  • Non è possibile aggiungere colonne a tabelle che includono un indice FULLTEXT.
  • Non è possibile aggiungere colonne alle tabelle temporanee. Le tabelle temporanee supportano solo ALGORITHM=COPY.
  • Non è possibile aggiungere colonne alle tabelle che risiedono nel tablespace del dizionario dati.
  • I limiti delle dimensioni delle righe non vengono valutati quando si aggiunge una colonna. Tuttavia, i limiti delle dimensioni delle righe vengono verificati durante le operazioni DML che inseriscono e aggiornano le righe nella tabella.

È possibile aggiungere più colonne nella stessa istruzione ALTER TABLE.

Se non riesci ad aggiornare, considera pt-online-schema-change di Percona o un nuovo prodotto concorrente gh-ost (che usa il binlog).