博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL MyISAM引擎的读锁与写锁
阅读量:4216 次
发布时间:2019-05-26

本文共 515 字,大约阅读时间需要 1 分钟。

MyISAM引擎表锁(偏读取)

加读锁

获得read锁定

LOCK TABLE tb_item_01 READ;

测试当前session是否可以查询该表记录,经测试ok。

测试当前session是否可以更新或插入该表记录

测试当前session是否可以查询其他表

测试其他session是否可以查询该表记录,经测试ok。

测试其他session是否可以更新或插入该表记录,经测试阻塞,直到释放读锁。

UNLOCK TABLES;#解锁

测试其他session是否可以查询或更新其他表记录,经测试ok。

MyISAM引擎加写锁

获得wirte锁定

LOCK TABLE tb_item_01 WRITE;

当前session对当前表的查询、更新、插入,都ok。

当前session对其他表的查询、更新、插入

其他session对当前表的查询阻塞,需要等待锁被释放。

 

总结:对MyISAM表的读操作(加读锁),不会阻塞其他进程对同一表的读请求,但会阻塞对同一表的写请求。只有当读锁释放后,才会执行其他进程的写操作。

对MyISAM表的写操作(加写锁),会阻塞其他进程对同一表的读和写请求。只有当读锁释放后,才会执行其他进程的读写操作。

转载地址:http://natmi.baihongyu.com/

你可能感兴趣的文章
《谁动了我的奶酪》
查看>>
查看mysql的日志
查看>>
python中init方法和随机数方法
查看>>
python 文件操作
查看>>
MySQL命名、设计及使用规范
查看>>
python 爬虫
查看>>
pycharm 下载Django
查看>>
搭建一个简单的Django项目
查看>>
解决mysql中文乱码
查看>>
《谁的青春不迷茫》
查看>>
有多努力,就有多幸运
查看>>
【Angular】引入BootStrap第三方库
查看>>
创建Angular项目
查看>>
Where there is life, there is hope
查看>>
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
查看>>
idea启动Tomcat控制台乱码
查看>>
关于Spring
查看>>
SSH插入数据库乱码
查看>>
JSP分页显示重复
查看>>
Linux网络协议栈(一)——Socket入门(1)
查看>>