当前位置: 首页 > news >正文

a0000网站建设公司注册费用流程

a0000网站建设,公司注册费用流程,快递wordpress 插件,湖南变电站公司中企动力技术支持网站建设文章目录 前言一、并发执行事务可能存在的问题1, 脏读问题2, 不可重复读3, 幻读 二、MySQL 的四种隔离级别1, READ UNCOMMITTED 读未提交2, READ COMMITTED 读已提交3, REPEATABLE READ 可重复读 (MySQL 的默认事务隔离级别)4, SERIALIZABLE 串行化 总结 前言 各位读者好, 我是… 文章目录 前言一、并发执行事务可能存在的问题1, 脏读问题2, 不可重复读3, 幻读 二、MySQL 的四种隔离级别1, READ UNCOMMITTED 读未提交2, READ COMMITTED 读已提交3, REPEATABLE READ 可重复读 (MySQL 的默认事务隔离级别)4, SERIALIZABLE 串行化 总结 前言 各位读者好, 我是小陈, 这是我的个人主页, 希望我的专栏能够帮助到你: JavaSE基础: 基础语法, 类和对象, 封装继承多态, 接口, 综合小练习图书管理系统等 Java数据结构: 顺序表, 链表, 堆, 二叉树, 二叉搜索树, 哈希表等 JavaEE初阶: 多线程, 网络编程, TCP/IP协议, HTTP协议, Tomcat, Servlet, Linux, JVM等(正在持续更新) 面试中问到 MySQL , 一定会问的就是并发执行事务可能存在的问题, 事物的四种隔离级别相关的问题, 所以这些知识非常重要 ! ! 提示是正在努力进步的小菜鸟一只如有大佬发现文章欠佳之处欢迎批评指点~ 废话不多说直接上干货 一、并发执行事务可能存在的问题 接下来先用通俗的语言, 解释一下这些 “专业术语” 的意思, 然后再 “专业性” 的总结 1, 脏读问题 场景 : 比如我在宿舍库库敲代码, 我的室友要抄我的代码, 过来看了一眼就走了 他走之后, 我把代码修改了 过了一会他又来了, 看到了我的代码已经修改了, 或者是删了 当 事务A 对某个数据修改的过程中, 事务A 未提交之前, 事务B 来读这个数据, 这个过程就是脏读, 读到的数据就是脏数据, 脏数据是指 : 无效的数据 (因为 事务A 还未提交, 可能 事务B 读完之后, 事务A 又修改了, 事务B 再读的时候就可能和上次读到的不一样 ) 解决方案 : 给我 “写代码的操作” 加锁, 我写完了, 别人才能看 后果 : 给 “写操作” 加锁之后, “读” 和 “写” 不能并发执行, 降低了并发执行效率, 但提升了隔离性 2, 不可重复读 场景 : (事先约定 : 我写完了, 室友才能看) 我把代码写完了, 对室友说: “你过来看吧” 他看了一眼, 回去自己写了 有一只鸡来到我的键盘上一顿乱啄, 代码被改了 室友再来看的时候发现, 代码变了 事务A 提交之后, 事务B 来读这个数据, 但有可能读到 其他事务 提交的数据, 导致多次读取到的数据不一样, 这个过程就是不可重复读 解决方案 : 刚才 : 给我 “写代码的操作” 加锁, 我写完了, 别人才能看现在 : 给室友 “读代码的操作” 加锁, 他读的时候, 谁也不能改数据 后果 : 给 “写操作” 加锁之后, 又给 “读操作” 加锁, 进一步 降低了并发执行效率, 但提升了隔离性 3, 幻读 场景 : (事先约定 : 我写完了, 室友才能看, 他看的时候, 谁也不能改) 我写好了代码, 对室友说: “你过来看吧” 他看了一眼, 回去自己写了 我没闲着, 他要看的代码我不碰, 我打算写其他的代码 他再抬头看的时候, 发现 : “卧槽, 你背着我卷?” 事务A 提交之后, 事务B 来读这个数据, 下次再读的时候, 读到的结果没变, 但是结果集变了, 这个过程就是幻读 解决方案 : 第一步 : 给我 “写代码的操作” 加锁, 我写完了, 别人才能看第二步 : 给室友 “读代码的操作” 加锁, 他读的时候, 谁也不能改数据第三步 : 必须等他告诉我 “抄完了” , 我才能碰电脑(完全串行化) 后果 : 我确定写完了, 室友才能看, 室友确定看完了, 我才能继续写, 完全拒绝并发, 但隔离性达到巅峰 二、MySQL 的四种隔离级别 设置不同的事务隔离级别能够不同程度地解决脏读, 不可重复读, 幻读问题 脏读不可重复读幻读READ UNCOMMITTED 读未提交有 有有READ COMMITTED 读已提交无有有REPEATABLE READ 可重复读无无有SERIALIZABLE 串行化无无无 1, READ UNCOMMITTED 读未提交 如果隔离级别设置为 “读未提交” , 那么该隔离级别的事务可以看到其他事务中未提交的数据。 该隔离级别因为可以读取到其他事务中未提交的数据而未提交的数据可能会发生回滚因此我们把该级别读取到的数据称之为脏数据把这个问题称之为脏读 该隔离级别下存在 : 脏读, 不可重复读, 幻读问题 2, READ COMMITTED 读已提交 如果隔离级别设置为 “读已提交”, 那么该隔离级别的事务能读取到已经提交事务的数据因此它可以解决脏读问题 但由于在事务的执行中还可以读取到其他事务提交的结果所以在不同时间的相同 SQL 查询中可能会得到不同的结果这种现象叫做不可重复读 该隔离级别下存在 : 不可重复读, 幻读问题 3, REPEATABLE READ 可重复读 (MySQL 的默认事务隔离级别) 如果隔离级别设置为 “可重复读”那么它能确保同⼀事务多次查询的结果⼀致。因此它可以解决不可重复读问题 但也会有新的问题比如此级别的事务正在执行时另⼀个事务成功的插入了某条数据但因为它每次查询的结果都是⼀样的所以会导致查询不到这条数据自己重复插入时又失败因为唯一约束的原因。明明在事务中查询不到这条信息但就是插入不进去这就叫幻读 该隔离级别下 : 存在幻读问题 4, SERIALIZABLE 串行化 如果隔离级别设置为 “串行化”, 那么它会强制事务排序多个事务不会并发从而解决了脏读、不可重复读和幻读问题但因为执行效率低所以真正使用的场景并不多 总结 以上就是本篇的全部内容, 主要介绍了并发执行事务事存在的幻读, 不可重复读, 幻读问题, 以及四种隔离级别下能够不同程度的解决这些问题 脏读不可重复读幻读READ UNCOMMITTED 读未提交有 有有READ COMMITTED 读已提交无有有REPEATABLE READ 可重复读无无有SERIALIZABLE 串行化无无无 如果本篇对你有帮助请点赞收藏支持一下小手一抖就是对作者莫大的鼓励啦~ 上山总比下山辛苦 下篇文章见
http://www.pierceye.com/news/988063/

相关文章:

  • 网站后台开发教程沈阳网站制作流程
  • 可以自己做课程的网站深圳小型网站建设
  • 静安做网站公司网站上线的通知
  • 怎么建设电影网站wordpress 附件上传插件下载
  • 网站导航内链建设企业网站设计方式有哪些
  • 手表网站建站千秋网络是家西安做网站的公司
  • 济南企业网站百度seo优化是做什么的
  • 网站颜色搭配案例wordpress洛米主题
  • 网站几个关键词网站备案为什么要关闭
  • 深圳网站制作哪家便宜怎么利用百度云盘做网站
  • 美容培训东莞网站建设做的网站上更改内容改怎么回事
  • 绵阳新农网的网站是哪个公司做的wordpress 在线教育主题
  • 大连优化网站怎样制作企业的网站
  • 网站建设邀请函北京网站优化 卓立海创
  • 公司后台的网站代理维护更新商贸有限公司注销流程
  • 网站建设工作动态wordpress次元主题
  • 手机网站源码asp网站快速排名技巧
  • 站点怎么建网页宁波网站建设设计制作公司
  • 黑龙江企业网站建设网站模板带后台 下载
  • 徐州在线制作网站营销网络是什么意思
  • 上海网站建设seo公司微信小程序制作教学
  • 信息化工作总结 网站建设十堰市有几家网站公司
  • 宠物网站建站目标做外贸的网站哪些是最好的
  • 垂直型电商网站如何做html5 开发的网站
  • 做网站可以不做后端吗渭南网站建设网站排名优化
  • 在线建站网页制作网站建设平台工商营业执照官网
  • 做网站用到的软件h5交互设计
  • 化工废料网站建设企业网站建设联系电话
  • 浙江高端网站建设公司什么是网页开发
  • 石碣网站仿做模具做外贸网站