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

网站设计制作收费明细关于网站的建设

网站设计制作收费明细,关于网站的建设,网站备案完成,九江哪家网站建设公司好Mysql 里面的事务,满足 ACID 特性,所以Mysql 的事务实现原理,就是InnoDB 是如何保证 ACID 特性的。 ACID A 表示 Atomic 原子性,也就是需要保证多个 DML 操作是原子的,要么都成功,要么都失败。那么&#xf…
Mysql 里面的事务,满足 ACID 特性,所以Mysql 的事务实现原理,就是InnoDB 是如何保证 ACID 特性的。

ACID

  • A 表示 Atomic 原子性,也就是需要保证多个 DML 操作是原子的,要么都成功,要么都失败。那么,失败就意味着要对原本执行成功的数据进行回滚,所以 InnoDB 设计了一个UNDO_LOG 表,在事务执行的过程中,把修改之前的数据快照保存到UNDO_LOG里面,一旦出现错误,就直接从UNDO_LOG里面读取数据执行反向操作就行了。
  • C 表示一致性,表示数据的完整性约束没有被破坏,这个更多是依赖于业务层面的保证,数据库本身也提供了一些,比如主键的唯一约束,字段长度和类型的保证等等。
  • I 表示事物的隔离性,也就是多个并行事务对同一个数据进行操作的时候,如何避免多个事务的干扰导致数据混乱的问题.而 InnoDB 实现了 SQL92 的标准,提供了四种隔离级别的实现。InnoDB 默认的隔离级别是 RR(可重复读),然后使用了 MVCC 机制解决了脏读和不可重复读的问题,然后使用了行锁/表锁的方式解决了幻读的问题。
  • D表示持久性,也就是只要事务提交成功,那对于这个数据的结果的影响一定是永久性的。不能因为宕机或者其他原因导致数据变更失效。 理论上来说,事务提交之后直接把数据持久化到磁盘就行了,但是因为随机磁盘 IO 的效率确实很低,所以 InnoDB 设计了Buffer Pool 缓冲区来优化,也就是数据发生变更的时候先更新内存缓冲区,然后在合适的时机再持久化到磁盘。那在持久化这个过程中,如果数据库宕机,就会导致数据丢失,也就无法满足持久性了。所以 InnoDB 引入了 Redo_LOG 文件,这个文件存储了数据被修改之后的值,当我们通过事务对数据进行变更操作的时候,除了修改内存缓冲区里面的数据以外,还会把本次修改的值追加到 REDO_LOG 里面。当提交事务的时候,直接把 REDO_LOG 日志刷到磁盘上持久化,一旦数据库出现宕机,在 Mysql 重启在以后可以直接用 REDO_LOG 里面保存的重写日志读取出来,再执行一遍从而保证持久性。
因此,在我看来,事务的实现原理的核心本质就是如何满足 ACID 的,在 InnDB 里面用到了 MVCC、行锁表锁、UNDO_LOG、REDO_LOG 等机制来保证。

http://www.yayakq.cn/news/921171/

相关文章:

  • 松原做公司网站改 wordpress 主题 颜色
  • 潍坊网站建设方案推广我找别人做的网站现在不管了怎么办
  • 网站12栅格系统怎么做网站app定制
  • 设备电商网站模板网站建设的售后服务流程
  • 庆元县住房和城乡建设局网站对二次网站开发的认识
  • 网站建设需要资料哪里学网站建设与管理
  • 河南郑州哪里可以做公司网站网站首页引导页
  • 怎么用wordpress仿站推广引流的方法
  • 经营性商务网站建设需要备案吗wordpress主题tstyle
  • 装修公司做网站好做吗福州网站建设发布
  • 在线ui设计网站网页制作图片居中对齐
  • 网站建设与管理可以专升本吗成都营销型网站建设公司
  • 怎么做移动端网站计算像素网站推广是做什
  • 银川网站建设公司名单青岛北方现货交易平台代理
  • 建c2c网站费用杭州做兼职网站建设
  • 叫别人建个网站多少钱建站平台与建站系统
  • 企业网站服务器跟域名都需要交钱吗软文范文200字
  • 企业网站建设的申请微商城分销
  • 网站底部导航设置但未能选择wordpress数据库
  • 邯郸营销型网站自助建站最好的平台
  • 高端做网站公司在线旅游网站开发分析报告
  • 网站开发英文参考文献2015年后成都网站开发
  • 网站备案流程图阿芹网站建设
  • 江苏省建设厅官方网站公式公告中国建设银行官方网站首页
  • 青岛福瀛建设集团有限公司网站海南在线新闻中心
  • 河间网站建设公司太仓有做网站的地方吗
  • 网站建设项目的摘要湖南手机版建站系统哪家好
  • 百度容易收录哪些网站网页制作手机软件下载
  • 网站建设.软件开发汽车网站建设规划书
  • 给平面设计素材网站做素材挣钱吗wordpress手动更新视频教程