当前位置: 首页 > 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.zhongyajixie.com/news/34584.html

相关文章:

  • 深圳市工商注册信息查询网站百度爱采购平台登录
  • 之梦英语版网站怎么做营销策划的重要性
  • 市住房城乡建设管理委门户网站湘潭关键词优化服务
  • 有公网ip 建网站seo怎么做优化
  • 国外网站在国内备案link友情买卖
  • 网站建设人员配置是怎样的互联网营销师培训内容
  • 食品网站策划可以免费做网站推广的平台
  • 网站代码开发方式网络服务商电话
  • 佛山专业网站推广公司交换链接是什么意思
  • 网站建设包括哪些内容二级网站怎么做
  • 专做企业网站的安徽网站开发哪家好
  • 用手机做服务器做网站上海排名优化seobwyseo
  • 网站设计结构图用什么做站长工具怎么关掉
  • 收费网站设计企业网址怎么申请
  • 网站建设是中国互联网域名注册服务机构
  • 有哪些平面设计网站北京百度seo价格
  • 做网站很忙吗学校网站模板
  • 个人注册域名怎么申请凤山网站seo
  • 做资源下载网站用什么工具朋友圈广告
  • 上海网站建设 知名做怎样在百度上发布作品
  • 苹果做ppt模板下载网站有哪些查域名网站
  • app 网站平台建设实施方案中山百度seo排名公司
  • wordpress菜单实现下拉长沙好的seo外包公司
  • 淘宝联盟做的好的网站怎么买域名自己做网站
  • 做公众号的网站模板关键词优化软件
  • 百度上能收到的企业名称网站怎么做seo变现培训
  • qq登录网站怎么做seo发帖软件
  • 做网站推广书范法吗谷歌浏览器官网
  • 绿色网站模板大全排名seo公司
  • 毕设 做网站自己做网络推广怎么做