14.3.5.1 Interaction of Table Locking and Transactions  表锁和事务的相互作用

LOCK TABLES 和UNLOCK TABLES  交互实用事务如下:

1. LOCK TABLES 不是事务安全的和隐式提交任何活动的事务 在尝试锁定表前

2.UNLOCK TABLES 隐式提交任何活动事务,但是只有如果LOCK TABLES 已经用于获得table locks.

比如, 下面的语句集,UNLOCK TABLES 释放全局锁 但是不会提交事务 因为没有表锁定是生效的。

FLUSH TABLES WITH READ LOCK;
START TRANSACTION;
SELECT ... ;
UNLOCK TABLES; 开始一个事务(例如,START TRANSACTION) 隐式的提交任何当前的事务和释放存在表锁 FLUSH TABLES WITH READ LOCK 需要一个全局的read lock ,不是table locks, 因此它不是服从于相同的行为作为LOCK TABLES 和UNLOCK TABLES 遵守表锁定和隐式提交。 比如, START TRANSACTION 不会释放全局read lock 正确的方式使用LOCK TABLES 和UNLOCK TABLES 在事务表,比如InnoDB 表, 是开始一个事务 设置autocommit = 0(不是START TRANSACTION)跟着lock tables, 不需要调用UNLCOK TABLES 直到你显示的提交事务 SET autocommit=0;
LOCK TABLES t1 WRITE, t2 READ, ...;
... do something with tables t1 and t2 here ...
COMMIT;
UNLOCK TABLES; 当你调用LOCK TABLES时,InnoDB 内部占用它自己的表锁,和MySQL 占用它自己的表锁。 InnoDB 释放它内部表锁 在下次提交时,但是MySQL 释放它的表锁,你需要调用UNLOCK TABLES. 你不能设置autocommit = 1, 因为InnoDB 释放它的内部的table lock 立即在调用LOCK TABLES之后, deadlocks 可以很轻易的发生。InnoDB 不需要获得内部表锁 如果 autocommit = 1, ROLLBACK does not release table locks.

最新文章

  1. HTML5移动Web开发(三)——在移动网站中使用HTML5
  2. Coder-Strike 2014 - Round 1 E. E-mail Addresses
  3. gcc: error trying to exec 'cc1plus': execvp: no such file or directory
  4. pb popmenu弹出式选单位置的问题
  5. Netty轻量级对象池实现分析
  6. php利用gd实现图片的边框
  7. 真正从0开始用Unity3D制作类战地2玩法的类龙之谷、王者荣耀的手游(暨全平台游戏)
  8. C#图解教程
  9. python3字典:获取json响应值来进行断言
  10. 逆向-攻防世界-maze
  11. 数据库MySQL——初识
  12. feemarker知识
  13. mysql 案例 ~ insert插入慢的场景
  14. Java之事务的基本应用
  15. 测试Oracle统计信息的导出导入
  16. Windows 10安装Python 3 7成功打印Hello World!
  17. 优化MVC,实现数据库表的记录的添加、删除、修改、查询。
  18. Flex组件参考 代码参考汇总
  19. Oracle数据库安装指南
  20. 【php增删改查实例】第八节 - 部门管理模块(编写PHP程序)

热门文章

  1. jQuery EasyUI求助
  2. Unix/Linux环境C编程入门教程(38) shell命令进阶演示
  3. UESTC_酱神寻宝 2015 UESTC Training for Dynamic Programming<Problem O>
  4. 剑指offer-面试题8.旋转数组的最小数字
  5. python爬虫系列之爬取多页gif图像
  6. HBase 5、Phoenix使用
  7. where 1=1
  8. Ajax——ajax调用数据总结
  9. VS2012+SQL2008+ODBC编程,第一篇博客,写的不好忘各位大神指点一二~
  10. Android应用程序与SurfaceFlinger服务之间的共享UI元数据(SharedClient)的创建过程分析