mysql只读事务不分配事务id_只读事务是否做无用功?
有时候,我们会看到代码里面,有如下语句:
@Transactional(ReadOnly=true)
是不是没有用处呢?
其实是有用处的,mysql支持只读事务的。
只读事务内,不能增加、修改、删除内容,否则报Cannot execute statement in a READ ONLY transaction。
只读事务内,只能读取到执行时间点前的内容,期间修改的内容不能读取到。
只读事务作为ORM框架优化执行的一个暗号,比如放弃加锁,或者flush never。
mysql5.6验证过程如下:
1. 建表
create table test(
id int not null default 0,
name varchar(10) not null default ”
) engine=innodb default charset=utf8;
insert into test values (1,’zhangsan’);
2. 开启只读事务
mysql> start transaction read only;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from test where id=1;
+—-+———-+
| id | name |
+—-+———-+
| 1 | zhangsan |
+—-+———-+
1 row in set (0.00 sec)
3. 删除内容
mysql> delete from test where id=1;
ERROR 1792 (25006): Cannot execute statement in a READ ONLY transaction.
报错,只读事务不支持删除内容。
4. 手动修改内容后再读取
mysql> update test set name = ‘ganbo’ where id=1;
Query OK, 1 row affected (0.02 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from test where id=1;
+—-+———-+
| id | name |
+—-+———-+
| 1 | zhangsan |
+—-+———-+
1 row in set (0.00 sec)
只读事务内被修改的内容,感知不到。
总结
只读事务的好处,作为ORM框架优化的暗号,保证读一致性,事务内不允许DML操作。
只读事务的场景,如统计,保证统计结果准确性。
缺点,使用事务,动态生成代理类,增加开销。
mysql只读事务不分配事务id_只读事务是否做无用功?相关推荐
- 只读事务是否做无用功?
有时候,我们会看到代码里面,有如下语句: @Transactional(ReadOnly=true) 是不是没有用处呢? 其实是有用处的,mysql支持只读事务的. 只读事务内,不能增加.修改.删除内 ...
- mysql 2006测试_狂神说MySQL06:事务和索引
狂神说MySQL系列连载课程,通俗易懂,基于MySQL5.7.19版本,欢迎各位狂粉转发关注学习.禁止随意转载,转载记住贴出B站视频链接及公众号链接! 上课视频同步文档 事务和索引 事务 什么是事务 ...
- Mysql 面试常问4 -- 锁模块之事务并发访问产生的问题以及事务隔离机制 InnoDB支持事务
锁模块之数据库事务的四大特性 数据库事务的四大特性和程序事务的四大特性基本相同 ⑴ 原子性(Atomicity) 原子性,这个是最简单的.说的是一个事务内所有操作共同组成一个原子包,要么全部成功,要么 ...
- 注解mysql事物管理_Spring 使用注解方式进行事务管理
事务的传播行为和隔离级别 大家在使用spring的注解式事务管理时,对事务的传播行为和隔离级别可能有点不知所措,下边就详细的介绍下以备方便查阅. 事物注解方式: @Transactional 当标于类 ...
- mysql事务处理是悲观锁还是_数据库事务的悲观锁和乐观锁
转载出处:http://www.hollischuang.com/archives/934 在数据库的锁机制中介绍过,数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数 ...
- MySQL数据库基础到进阶笔记整理包含事务、SQL优化、锁等内容
写在前面 本文是在学习MySQL数据库时整理的笔记,可供初学者学习 是在https://dhc.pythonanywhere.com/entry/share/?key=12e4a7324f68371d ...
- mysql view 能和表关联吗_MySQL 事务隔离及实现,赶快码上收藏!满满干货
前言 写文不易,欢迎大家一起交流,喜欢文章记得关注我点个赞哟,感谢支持!(文末还有福利与彩蛋哦!) 1. 事务的 ACID 特性 Actomic,原子性:一个事务中的所有操作,要么全部完成,要么全部失 ...
- mysql当前时间减一分钟_MySQL数据库事务的机制【总结】
php中文网最新课程 每日17点准时技术干货分享 这几天面试多次被问到了数据库事务机制.隔离级别.乐观锁悲观锁类的问题,之前对这些只能说有所了解,有些概念还停留在记忆层面,没有理解,所以回答的不好.后 ...
- mysql里hdr是什么的缩写_MySQL事务之-2
在上一篇中我们提到了MySQL的事务特性,这一片主要讲述事务的实现. 事务的隔离性由锁来实现.原子性,一致性,持久性通过数据库的redo和undo log来实现. redo恢复提交事务修改页的操作,而 ...
最新文章
- 启动Mysql时发生的一个关于PID文件错误问题
- SpringMVC框架--学习笔记(下)
- esp8266 接收udp广播_ESP8266_21基于ESP8266的一键配网
- 基于jquery类库的绘制二维码的插件jquery.qrcode.js
- oracle+solaris+密码,Oracle Solaris 10回滚补丁文件密码哈希泄露漏洞
- 小红书成立六周年内部信:月活用户量已经突破8500万
- 【廖雪峰官方网站/Java教程】多线程(3)
- 【漫画】兔子,胡萝卜和屎
- 常用的公共 DNS 服务器 IP 地址
- 计算机游戏 ppt背景图片,课件背景图片大全
- Low-Light Enhancement 数据集 和 论文代码
- 社旗一高2021高考成绩查询,2021年九师联盟:河南/山西省高三年级下学期5月联考分数线公布!...
- 2021Java最新技术发展趋势
- will do 和 will be doing的区别
- 023 Rust死灵书之并发、竞争
- 段永平回应一切:从未遥控OV,黄峥不是弟子,靠营销不能持久
- pycharm如何使用?
- u盘装系统学计算机好,大家说最好的u盘装系统工具是哪一个
- 山东大学2019-2020数据仓库与数据挖掘期末考试
- Python之代码规范管理工具(pylint、black)
热门文章
- Mask2Former源码解析
- php 邮箱管理软件,Tmail 一个非专业的强大的小型邮件管理工具,用来读取 列表数据发送大量的 ,简单 WEB(ASP,PHP,...) 256万源代码下载- www.pudn.com...
- 业余爱好者想入门编程,一定远离那些只会说No的家伙,尤其程序员
- 学什么技术专业最有前途?
- 41-构造函数/析构函数
- 香港网络新危机:黑客入侵网上银行账户买卖股票
- 解决GitHub频繁要求verify email的问题
- 2020-10-21 ubuntu 打包解包压缩解压tar gz bz2 tar.Z tgz rar lha格式
- 生化危机绝密报告2java,生化危机-绝密任务V2.1
- 回顾去哪儿的这些年,最让我骄傲的是收获了这9点管理心得