With the introduction of metadata locking in MySQL 5.5, it is much more
common to see queries stuck in the “Waiting for table metadata
lock” state.
If you see a query stuck in the “Waiting for table metadata lock”
state, waiting for a MyISAM table, then it is because this table
has been included as part of some uncommitted transaction
(whether intentionally or not).
In fact, it could be as simple as issuing SET AUTOCOMMIT=0
followed by a SELECT against a MyISAM table (a transaction can be
started 3 ways: START TRANSACTION, BEGIN, and SET AUTOCOMMIT=0).
After that, the table will be locked to other DDL statements
until the transaction is committed (or ended).
This metadata lock is meant for DDL statements, and so that is
what it blocks. However, once a DDL statement is blocked and
waiting, then all queries …
Showing entries 1 to 1
Mar
14
2013
Showing entries 1 to 1