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 …
Community journal
Follow the feed
The latest from the MySQL community
Ideas, releases, practical guides, and perspectives from the people building with MySQL.
Showing entries 1 to 1 of 1
« Previous |
Next »
Mar
14
2013