MySQL 的表级锁
来源:互联网 发布:周扬青的淘宝店叫什么 编辑:程序博客网 时间:2024/05/16 08:43
在开发项目时,遇到一个问题,就是要随机读取一张表的部分记录,并update设置为不可在读,这里就有一个问题,可能多个人同时随机到相同的记录,并重复做update操作,引起数据脏读和重复操作,
因此考虑给表加锁。但是采用了MyISAM,不支持事务,只能加表级锁,而且别人连读的权限都没有。下面是2个测试文件,在firefox运行test.php,在ie里运行test1.php,会发现,火狐运行后10秒内,ie里处于等待状态,其实就是test.php里给表加了锁,网页没运行结束,锁未被释放,当10秒过后,锁自动被释放,ie里马上出现内容了,这样做实现了随机读取表的记录并修改,但是带来的缺憾是锁表期间,其他进程对该表的读的权限也没有,也就是用户在操作表记录时,管理员都没有读的权限,还是得修改表引擎,换成innodb,用事务来解决。
test1.php
test.php
- MySQL 的表级锁
- mysql的表级锁
- 【mysql】mysql的SUBSTRING_INDEX
- 【MySQL】MySQL的数据类型
- MySQL锁的用法之表级锁
- MySQL锁的用法之表级锁
- 浅说Mysql的行级锁,表级锁,页级锁
- 【MySQL】MySQL数据库的同步
- MYSQL的MySQL Show命令
- Mysql连接的mysql结构
- Mysql连接的mysql结构
- MYSQL-mysql的时间函数
- 【mysql】mysql的优化步骤
- Mysql 改变mysql的密码
- [MySQL] - MySQL的Grant命令
- [MySQL] - MySQL的Grant命令
- [MySQL] - MySQL的Grant命令
- [MySQL] - MySQL的Grant命令
- 使用手机充电器也要注意安全
- 离开页面提示
- 为应用程序添加脚本支持
- php的应用范围
- 委托事件的三个很好的例子
- MySQL 的表级锁
- PHP页面——Hello,World!
- 对于数据库附加后显示为只读属性的解决办法。
- java中对象的序列化
- awk的几个常用高级用法
- 自动弹出一个消息提示
- 汇编显示键盘扫描码和ASCII码
- 基于组件的题库系统,敬等贵人指点一二?
- 网络老是断开,原来是360杀毒软件惹的祸