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

MySQL 5.6 - tabel låser selv når ALGORITHM=inplace bruges

Jeg går ud fra, at du ikke lavede noget andet DDL på det bord på omtrent samme tidspunkt?

For fremtiden:

8.0.12 har ALTER TABLE .. ALGORITHM=INSTANT for ADD COLUMN . Se Diskussion og ALTER Reference og Online DDL-reference em>

Følgende begrænsninger gælder, når INSTANT-algoritmen bruges til at tilføje en kolonne:

  • Tilføjelse af en kolonne kan ikke kombineres i samme sætning med andre ALTER TABLE-handlinger, der ikke understøtter ALGORITHM=INSTANT.
  • En kolonne kan kun tilføjes som den sidste kolonne i tabellen. Tilføjelse af en kolonne til enhver anden position blandt andre kolonner understøttes ikke.
  • Kolonner kan ikke tilføjes til tabeller, der bruger ROW_FORMAT=COMPRESSED.
  • Kolonner kan ikke tilføjes til tabeller, der indeholder et FULLTEXT-indeks.
  • Kolonner kan ikke tilføjes til midlertidige tabeller. Midlertidige tabeller understøtter kun ALGORITHM=COPY.
  • Kolonner kan ikke tilføjes til tabeller, der findes i dataordbogens tablespace.
  • Rækkestørrelsesgrænser evalueres ikke, når en kolonne tilføjes. Rækkestørrelsesgrænser kontrolleres dog under DML-operationer, der indsætter og opdaterer rækker i tabellen.

Flere kolonner kan tilføjes i den samme ALTER TABLE-sætning.

Hvis du ikke kan opgradere, så overvej Perconas pt-online-schema-change eller et nyt, konkurrerende produkt gh-ost (som bruger binlog).



  1. java.sql.Time-objektet forveksles med java.sql.Date-objektet

  2. Fejl under afsendelse af QUERY-pakke

  3. debug mysqli-forespørgsel med eller dø mysqli_error

  4. Er det god praksis at forlænge undervisningen?