我们对于InnoDB这个数据存储引擎,他最大的特点是支持了事务,还记得吗,事务除了具有ACID的四大特性以外,事务是不是还有个隔离级别,还记得是什么时候讲过,讲Spring的时候,Spring的事务控制有个Isolation,还记得吗就是什么意思呢,如果你有多个并发的事务,同时操作一个数据,如果你对这个事务没有很好地隔离级别,那么就可以能会出现脏读,虚读,对吧,不可重复读,丢失第一类更新,丢失第二类更新的现象,总而言之,这个数据是有问题的,所以说在定义事务标准的时候,除了那四大原则以外,事务的特点已经把隔离级别递出来了,也就是说,你数据库产品,如果想要支持事务,你应该支持这4种隔离级别,这样就可以解决常见的数据读取的问题,比如四大隔离级别有哪些来着,能回忆起来几个,Read-uncommit,读未提交,既然有读未提交,就有读已提交,还有一个Read-Commit,还有一个叫Repeatable-Read,最后一个是什么,Read-Seriable,序列化,其实在这四个隔离级别当中,Serializable是事务最安全的,为什么,我记得当时还举了这么个例子,我又一张银行卡,恰巧公司这个时候给我开工资,然后我又拿这张卡去取钱,同时在这个时间点两个事务操作同一个账户,就会有这样的问题,对吧,所以在定义事务特性的时候,就已经把隔离级别定义出来了,具备一种什么什么的隔离级别,能够解决什么问题,那么我们刚才所说的4个隔离级别,其实就可以解决脏读,虚读,不可重复读的一系列问题,只是级别的顺序影响了他的事务隔离级别的严谨性,比如最严谨的是谁啊,就是Serializable,哪有人说Serializable这么严谨了,数据为什么不用一个Serializable就行了,没错,数据越严谨数据越安全,但是会严重的影响效率和性能,咱们在讲数据库的时候,比如92标准下,这点相对于我们觉得比较高达上的ORACLE,其实ORACLE对于事物的隔离级别就支持两种,一直叫做Serializable,一种叫做Repeatable-Read,剩余的读已提交,读未提交,ORACLE不支持,所以从这一点来看,ORACLE的默认级别就是Repeatable-Read,而MYSQL的默认隔离级别是Read-Commit,其实你会发现,大多数的关系型的数据库的默认隔离级别是都是Repeatable-Read,但是MYSQL默认的是读已提交,Read-Commit,能不能记住这四个隔离级别
事务的隔离级别:1. read-committed : 读已提交 (是MSYQL的默认隔离级别)2. read uncommitted : 读未提交3. repeatable read (是Oracle的默认隔离级别)4. Serializable 就是四种隔离级别,然后repeatable read,是Oracle的默认隔离级别,读已提交是MSYQL的默认隔离级别,所以你要依赖数据库做隔离级别,其实它控制的颗粒度是比较粗的,除非用数据库的Serializable,但是你把Serializable改了之后,就会降低其他的性能,所以这个隔离级别真的去做,还不是去依赖数据库的隔离级别,而是依赖我们Spring的传播行为,Spring的事务隔离级别最好的是他可以把隔离级别细化到方法上,也就是仅限于这样的一个方法,受这样的事务隔离级别,我们不是要配传播行为吗,required,后面有一个Isolation,那个不就是配隔离级别的吗,所以用Spring来解决事务隔离级别方式更加细粒一些,那就借着这个机会给大家说一下,如果有人问你MYSQL里面的隔离级别,说不出来,其实这块是可以说出来的,没有太大的问题,但是你要看每一个隔离级别单独的解决什么样的问题,脏读,虚读,这些东西,那也不复杂,你到网上搜一遍,不过多介绍了

mysql的事物隔离级别相关推荐

  1. MySQL数据库事物隔离级别

    mysql数据库的事物隔离级别主要有四种: Serializable 串行化,一个事物一个事物的执行 Repeatable read 可重复读 , 无论其他事物是否修改并提交了数据,在这个事物中看到的 ...

  2. 高性能mysql的事物隔离级别

    数据库事务的隔离级别有4种,由低到高分别为Read uncommitted .Read committed .Repeatable read .Serializable .而且,在事务的并发操作中可能 ...

  3. MySQL事务及隔离级别详解

    MySQL事务及隔离级别详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL的基本架构 MySQL的基本架构可以分为三块,即连接池,核心功能层,存储引擎层. 1> ...

  4. 事物的级别_浅谈MySQL并发控制:隔离级别、锁与MVCC

    推荐阅读: 恕我直言!收藏这个MySQL文档,你其余的MySQL学习资料都可以扔了 前言 如果数据库中的事务都是串行执行的,这种方式可以保障事务的执行不会出现异常和错误,但带来的问题是串行执行会带来性 ...

  5. SHOW VARIABLES LIKE “tx_isolation“查看mysql查看当前数据库的事物隔离级别

    SHOW VARIABLES LIKE "tx_isolation"查看mysql查看当前数据库的事物隔离级别

  6. 数据库的四种事物隔离级别(基于MySQL的InnoDB存储引擎)

    准备工作 创建一个表,并插入几条基础数据 CREATE TABLE `transaction_isolation` (`id` bigint(10) NOT NULL AUTO_INCREMENT,` ...

  7. 事物的级别_面试官问:MySQL锁与事物隔离级别你知道吗?

    本文作者:何建辉(公众号:org_yijiaoqian) 点赞再看,养成习惯,微信搜一搜[一角钱小助手]关注更多原创技术文章. 本文 GitHub org_hejianhui/JavaStudy 已收 ...

  8. Mysql事物隔离级别

    事物隔离级别 脏读 不可重复读 幻读 读未提交(read-uncommitted) 是 是 是 不可重复读(read-ccommitted) 否 是 是 可重复读 (repeatable-read) ...

  9. 面试官问:MySQL锁与事物隔离级别你知道吗?

    点赞再看,养成习惯,微信搜一搜[一角钱小助手]关注更多原创技术文章. 本文 GitHub org_hejianhui/JavaStudy 已收录,有我的系列文章. 前言 MySQL索引底层数据结构与算 ...

最新文章

  1. 印制塑料卡片中的IC芯片
  2. python while循环语句-Python中的while循环语句怎么用?
  3. VTK:Utilities之ObserveError
  4. C++和 C 的区别
  5. Machine Learning Yearning book draft - 读记(前14章)
  6. centos pip命令安装mysql_centos下pip安装mysql_python报错mysql_config not found
  7. aspx 修改了样式但是在点击按钮后被刷新_geoserver地图发布服务教程---4.使用udig获取sld样式...
  8. 【转账】API自动化测试
  9. android--显式跳转和隐式跳转
  10. android英文菜单,安卓recovery菜单中英文对照
  11. 数据结构常用常考经典习题【按十大专题总结】
  12. 淼淼刷力扣(PTA特别版2)
  13. 【neusoft】 Linux 的学习与使用
  14. canvas实现2019最酷炫3D特效
  15. 问题解决:shared_ptr Assertion px != 0 failed 及debug经验分享
  16. 离线语音芯片-开发指南
  17. 模拟登录淘宝并拍下购物车商品
  18. 我天!中国科技原来有桎梏!道翰天琼认知智能机器人API平台接口为您揭秘。
  19. Wordpress免费建站图文教程(二):建站虚拟主机的购买
  20. 【渝粤题库】陕西师范大学165103 劳动经济学 作业

热门文章

  1. 利用html的header下载文件
  2. 诗歌rails之 Logger
  3. CAP理论与分布式事务解决方案
  4. 通过SharePoint Designer对SharePoint 2010的Master Page进行自定制
  5. Android的DataBinding原理介绍
  6. ueditor1_4_3_3编辑器的应用
  7. ArrayUtils的简单学习
  8. httpclient 调用WebAPI
  9. 码农必读的 7 本计算机书
  10. 一个漂亮的输出MySql数据库表结构的PHP页面