有时候,我们会看到代码里面,有如下语句:

@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操作。
  • 只读事务的场景,如统计,保证统计结果准确性。
  • 缺点,使用事务,动态生成代理类,增加开销。

只读事务是否做无用功?相关推荐

  1. mysql只读事务不分配事务id_只读事务是否做无用功?

    有时候,我们会看到代码里面,有如下语句: @Transactional(ReadOnly=true) 是不是没有用处呢? 其实是有用处的,mysql支持只读事务的. 只读事务内,不能增加.修改.删除内 ...

  2. 我们每天都在做无用功?

    时间是一个非常奇怪的东西,当你想挥霍它的时候,它会尽量满足你,让你觉得时间怎么挥霍都用不完.但当你想要珍惜它的时候,它又会特别吝啬,让你觉得时光飞逝,转眼已是尽头. 时间是最公平的,无论是首富还是贫农 ...

  3. 根据目标选择减肥方法 少做无用功

    不同的美体目标适合的减肥方法也是不同的,有些人想减去大部分体重,而有些人只是想让身体曲线更柔美,这就要求有相应的减肥方法,对症下药,才会让减肥少做无用功. 目标:我想穿上小一码的衣服 建议:适当节食 ...

  4. 书脊开胶了用什么胶粘_鞋子开胶还傻傻用502粘?劝你别做无用功,用这笨招天天穿新鞋...

    大部分人换鞋的原因都不是鞋子落伍了,也不是不喜欢穿了,而是鞋子脱胶了.鞋子脱胶后完全没法穿了,几乎70%的人鞋子脱胶后都会选择放弃,转而去挑选一双新鞋.还有的人呢就会想办法把鞋子修好,毕竟花钱买来的鞋 ...

  5. SAP License:这种ERP系统核查工作实际是在做无用功

    前段时间跟朋友聊起他们公司持续了好几年的ERP核查工作,此时他正在一家分公司做核查.ERP核查工作我是知道的,一个季度一次,每个模块出一个人去子公司巡回巡查,主要核查ERP系统的使用情况. 核查工作主 ...

  6. 雷观(二十二):项目开发中,要少做无用功

    最近,正在重构一个项目的后台管理系统. 注意到,所有的table列表页,都有个搜索功能.后端的搜索功能,还是需要一点代码去实现.然后,还得去测试一遍. 但是呢,忽然意识到,有的页面根本没有必要增加&q ...

  7. 四川一度智信:电商商家实效获取流量,不要花钱做无用功

    四川一度智信:电商商家实效获取流量,不要花钱做无用功 很多入驻拼多多的商家朋友,前期运营店铺不熟悉,报名活动时盲目投入很多钱,但得到的效果却不尽人意,自然流量少,做了很多无用功,那么今天四川一度智信小 ...

  8. 思维误区:努力学习与有效学习!不要做无用功

    误.不认错什么都改变不了,只能让自己继续犯错而已,别人也会因此疏远你. 要认错很难,在于你需要建立一个正确的评价标准.第一标准是基于事实,事实胜于穷辩.有些时候事实看不到很清楚,这个时候就需要先梳理一 ...

  9. 发软文外链技巧(你还在做无用功的软文外链吗)

    软文本外部链接的作用是吸引用户单击搜索并为网站带来流量. 这就是我们为什么要发软文外链的原因.用户不会阅读垃圾文章,这会使垃圾链接无用.因此,发布在外部链接上的文章也需要高质量的文章,最好不要复制和采 ...

最新文章

  1. unity桌面设置vnc_win7系统通过VNCViewer访问Ubuntu桌面环境的操作方法
  2. 无人出租今起免费坐,只恨不是长沙人
  3. 怎么提升写代码的能力
  4. wavecn 2.0.0.5 正式版_微信7.0.5怎么更新?微信7.0.5安卓版下载与更新升级教程
  5. 【数据结构与算法】之给Nx3网格图涂色的方案数的求解算法
  6. SQL基础三(例子)
  7. 使用 ABAP 代码解析一个 class 的所有方法
  8. 前端学习(1533):angular简介
  9. 使用函数统计指定c语言,浙大版《C语言程序设计(第3版)》题目集 习题5-5 使用函数统计指定数字的个数...
  10. 通过案例学调优之--和 LOG BUFFER 相关的主要 Latch
  11. IDEA的创建javaWeb工程以及修改默认的class文件输出
  12. linux如何让普通用户有root权限
  13. Python中的字符串比较:与== [重复]
  14. karto探秘之open_karto 第三章 --- 扫描匹配
  15. 论文降重修改句子软件
  16. STM32使用外设热敏打印机进行打印
  17. TexStudio提示:无法启动build view xelatex
  18. Selenium+ChromeDriver爬取链家网二手房价(包括经纬度)信息
  19. GC日志分析神器-GCEasy详解
  20. 在 GitHub 上利用 SHA-1 值(commit ID)搜索某一次的提交内容

热门文章

  1. Android开发本地及网络Mp3音乐播放器(十七)已存在歌曲歌词下载
  2. 2021中国网络视频市场年度报告(202104).PDF
  3. Java爬虫——人人网模拟登录
  4. 类脑计算与神经网络加速
  5. mysql主备有几种方式,mysql 主备 主从 主主模式介绍
  6. 第一次总结:填涂颜色
  7. 光纤通信工程-波分复用DWDM(十一)
  8. 采购申请、采购订单、供应商
  9. 汉字转拼音函数 linux,汉字转拼音占内存更少转换速度更快的程序
  10. TeX中的引号我麻了