Jam*_*.Xu 4 mysql myisam table-lock
我正在读这本书High Performance MySQL,它提到:
performing one query per table uses table locks more efficiently: the queries
will lock the tables invididually and relatively briefly, instead of locking
them all for a longer time.
Run Code Online (Sandbox Code Playgroud)
selecting什么东西,MyISAM放置表锁?有人可以解释一下吗?
rek*_*o_t 11
MyISAM有不同类型的锁.一个SELECT操作放置一个读锁在桌子上.只要没有活动的WRITE LOCKS,任何给定时间都可以有多个活动读锁.修改表格的操作,例如 INSERT,UPDATE,DELETE或ALTER TABLE放置一个写锁定在桌子上.只有没有活动的读锁时,才能将写锁定放在表中; 如果存在活动读锁定,则只要所有活动读锁定都到期,MyISAM就会将写锁定队列激活.
同样,当存在活动写锁时,尝试在表上放置读锁将对锁(以及关联查询)进行排队,直到表上的写锁已过期.
最终这意味着:
有关更多信息,请参阅:http://dev.mysql.com/doc/refman/5.5/en/internal-locking.html