首页 > MySQL > MySQL锁定相关

MySQL锁定相关

来源:原创 作者:thomas 分类:MySQL 阅读:746 日期:2014-05-21

锁定级别

表级锁(MyISAM和MEMORY),页级锁(BDB),行级锁(InnoDB)

MySQL表级锁锁定管理:

对write,MySQL使用的表锁定方法的原理:

a,如果表上没有锁,则在表上放置一个写锁

b,否则,把写锁请求放入写锁队列中

对read,MySQL使用的表锁定方法的原理:

a,如果表上没有写锁,则放一个读锁在表上

b,否则,把该读锁放入读锁队列中

当一个锁被释放时,首先被写锁队列中的线程得到,然后才是读锁队列中的线程。并且MySQL的表级锁是不会造成死锁的。

MySQL表级锁的SQL语句

加锁:lock tables tbl_name [as alias] {read [local] | [low_priority] write}

例如:lock tables test read;

解锁:unlock tables;

read-lock: 允许其他并发的线程进行读请求,但阻塞写请求,即可以同时读,但不允许任何写。也叫共享锁

write-lock:不允许其他并发的线程进行读和写请求,自身线程可以进行读、写操作。也叫排他锁或独占锁

十日谈技术博客

 

热门文章 更多>

微信扫一扫,关注技术十日谈