mysql--表锁
来源:互联网 发布:网络语diss是什么意思 编辑:程序博客网 时间:2024/06/15 07:18
MySQL表级锁的锁模式
MySQL的表级锁有两种模式:表共享读锁(Table Read Lock)和表独占写锁(Table Write Lock)。MyISAM在执行查询语句(SELECT)前,会自动给涉及的所有表加读锁,在执行更新操作(UPDATE、DELETE、INSERT等)前,会自动给涉及的表加写锁。
所以对MyISAM表进行操作,会有以下情况:
a、对MyISAM表的读操作(加读锁),不会阻塞其他进程对同一表的读请求,但会阻塞对同一表的写请求。只有当读锁释放后,才会执行其它进程的写操作。
b、对MyISAM表的写操作(加写锁),会阻塞其他进程对同一表的读和写操作,只有当写锁释放后,才会执行其它进程的读写操作。
并发插入
原则上数据表有一个读锁时,其它进程无法对此表进行更新操作,但在一定条件下,MyISAM表也支持查询和插入操作的并发进行。
MyISAM存储引擎有一个系统变量concurrent_insert,专门用以控制其并发插入的行为,其值分别可以为0、1或2。
a、当concurrent_insert设置为0时,不允许并发插入。
b、当concurrent_insert设置为1时,如果MyISAM表中没有空洞(即表的中间没有被删除的行),MyISAM允许在一个进程读表的同时,另一个进程从表尾插入记录。这也是MySQL的默认设置。
c、当concurrent_insert设置为2时,无论MyISAM表中有没有空洞,都允许在表尾并发插入记录。
阅读全文
0 0
- mysql表锁
- mysql--表锁
- [MySQL] MyISAM表锁
- 浅析MySQL 表锁
- mysql MyISAM表锁
- mysql 行锁 表锁
- mysql学习----行锁\表锁
- Mysql
- MySql
- MYSQL
- MySQL
- mysql
- mysql
- mysql
- mysql
- Mysql
- Mysql
- mysql
- c#中get set 的使用
- Python入门之dict和set
- 计算几何【4】精度问题
- 为什么java中不加return在这种情况下不报错并且正常运行
- Start
- mysql--表锁
- LeetCode 1 Two Sum I
- 白+黑(白利用)漏洞加载木马技术解析
- Uncaught TypeError:option dataFormat is not recognized
- c++ primer 第六章总结
- Lintcode:恢复旋转排序数组
- 【XSY1476】平凡之路 斜率优化DP
- GitHub的使用流程、初学者的使用方法
- svm模型训练后的参数说明