09.12.2015 19:35, shawn l.green пишет:


On 12/9/2015 9:59 AM, Artem Kuchin wrote:
Hello!
|THREAD_ID       LOCK_MODE       LOCK_DURATION   LOCK_TYPE
TABLE_SCHEMA    TABLE_NAME
268871  MDL_INTENTION_EXCLUSIVE MDL_EXPLICIT    Global read lock
270022  MDL_INTENTION_EXCLUSIVE MDL_STATEMENT   Global read lock
268871  MDL_SHARED_NO_READ_WRITE        MDL_EXPLICIT    Table metadata
lock     spru    searchsobjects
268871  MDL_SHARED_NO_READ_WRITE        MDL_EXPLICIT    Table metadata
lock     spru    searches
268871  MDL_INTENTION_EXCLUSIVE MDL_EXPLICIT    Schema metadata lock
spru
270022  MDL_INTENTION_EXCLUSIVE MDL_TRANSACTION Schema metadata lock
spru



You gave the answer in your last statement: "All tables are myisam" .

The MyISAM storage engine is not transactional and it does not do row-level locking. All UPDATE and DELETE operations require a full table lock to perform and those must wait for all earlier readers or writers to exit the table before they can start. INSERT operations are special as you can enable a mode to allow INSERTs to happen only at the end of the file and not be blocked while one of the other two operations are in progress.

TABLE LOCK is okay, i understand that. But i see GLOBAL READ LOCK - not table lock, but GLOBAL.
As i understand that it means ALL TABLES IN ALL DATABASES. Why?

Artem

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/mysql

Reply via email to