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

哪些网站做推广为什么百度不收录wordpress

哪些网站做推广,为什么百度不收录wordpress,网页无法访问6,wordpress分类主题模板MVCC概念 MVCC(Multi-Version Concurrency Control) 多版本并发控制,是一种并发控制机制,用于处理数据库中的并发读写操作,它通过在每个事务中创建数据的快照,实现了读写操作的隔离性,从而避免了读写冲突和数据不一致的问题。 M…

MVCC概念

MVCC(Multi-Version Concurrency Control) 多版本并发控制,是一种并发控制机制,用于处理数据库中的并发读写操作,它通过在每个事务中创建数据的快照,实现了读写操作的隔离性,从而避免了读写冲突和数据不一致的问题。

MySQL基本并发控制机制

锁机制(当前读)

MySQL使用锁机制来控制并发访问数据库的操作,锁可以分为两种类型:共享锁(S锁)和排他锁(X锁);共享锁允许多个事务同时读取同一数据,而排他锁则只允许一个事务进行写操作。

这种方式它读取的是记录的最新版本,读取时还要保证其他并发事务不能修改当前记录,会对读取的记录进行加锁。

对于我们日常的操作,如:select ... lock in share mode(共享锁),select ...
for update、update、insert、delete(排他锁)都是一种当前读。

MVCC(快照读)

MVCC是一种高级并发控制机制,它通过创建数据的快照和版本控制来实现读写操作的隔离性。MVCC允许事务在读取数据时看到之前的版本,从而避免了读写冲突和数据不一致的问题。

简单的select(不加锁)就是快照读,快照读,读取的是记录数据的可见版本,有可能是历史数据,不加锁,是非阻塞读。

  • Read Committed(RR):每次select,都生成一个快照读。
  • Repeatable Read(RC):开启事务后第一个select语句才是快照读的地方。
  • Serializable:快照读会退化为当前读(加锁)。

MVCC的重要组件

Read View(读视图)

ReadView是快照读SQL执行时MVCC提取数据的依据,记录并维护系统当前活跃的事务(未提交的)id,也就是开始事务时的数据。

ReadView四个核心字段

快照是在每个事务开始时创建的一个数据库状态的副本,该快照包含了当前数据库中所有数据行的版本信息,每个事务在开始时会记录一个时间戳,用于标识该事务的开始时间。 读操作时,MySQL会根据事务开始的时间戳和快照中的版本信息来判断数据行的可见性。如果某个数据行的版本早于事务开始的时间戳,则该数据行对当前事务可见;反之,如果数据行的版本早于事务开始的时间戳或者被当前事务修改过,则该数据行对当前事务不可见。

不同的隔离级别,生成ReadView的时机不同:
READ COMMITTED :在事务中每一次执行快照读时生成ReadView。
REPEATABLE READ:仅在事务中第一次执行快照读时生成ReadView,后续复用该ReadView。

版本链

每个数据行都维护着一个版本链,该链表结构包含了该数据行的不同版本,每次对数据行进行修改时,MySQL会在版本链中创建一个新的版本,并将该版本与之前的版本连接起来。

版本链中的每个版本都包含了该版本的时间戳、事务ID以及数据行的值。通过版本链,MySQL能够追踪和管理数据行的历史变化,从而实现并发读写操作的隔离性。

Undo Log(回滚日志)

回滚日志,在insert、update、delete的时候产生的便于数据回滚的日志,记录了事务对数据行的修改操作。当insert的时候,产生的undo log日志只在回滚时需要,在事务提交后,可被立即删除。而update、delete的时候,产生的undo log日志不仅在回滚时需要,在快照读时也需要,不会立即被删除。如果事务读取到了已被其他事务修改的数据版本,使用undo log中的信息将数据回滚到适当的版本,以确保事务读取的数据是一致的。

当事务需要回滚时,MySQL会根据Undo Log中的信息将数据行恢复到事务开始之前的状态。 Undo Log的实现方式是将事务对数据行的修改操作记录在磁盘上的一个日志文件中,在回滚操作时,MySQL会按照Undo Log中的日志记录,逆向执行相应的操作,将数据行恢复到原始状态。

MVCC原理分析

读已提交(RC)隔离级别

RC隔离级别下,在事务中每一次执行快照读时生成ReadView。

当一个事务开始时,它会获取一个读视图,并在读视图中记录当前活跃的事务和它们的提交状态。当事务执行读操作时,它会检查读视图中的信息来确定哪些版本的数据对该事务可见。 如果一个数据行的最新版本的时间戳早于事务的读视图创建时间戳,那么该数据行对事务是可见的。如果一个数据行的最新版本的时间戳晚于事务的读视图创建时间戳,那么该数据行对事务是不可见的,因为它是其他事务在事务开始之后修改的。

读视图记录了事务开始时的数据库状态,版本链用于跟踪数据行的不同版本。通过比较读视图和版本链中的时间戳,事务可以确定哪些数据对它是可见的。

可重复读(RR)隔离级别

RR隔离级别下,仅在事务中第一次执行快照读时生成ReadView,后续复用该ReadView,所以 在一个事务中,执行两次相同的select语句,查询到的结果是一样的。

当一个事务读取数据时,它只能看到在该事务开始时间之前已经提交的版本,这样,事务可以看到一致的快照视图,而不会受到其他并发事务的影响。

当一个事务修改数据时,它会为修改操作创建一个新的版本,并将该版本的时间戳设置为当前事务的时间戳,其他事务仍然可以读取旧版本的数据,直到当前事务提交。

MVCC的优点

- 并发性能优化:MVCC允许多个事务同时读取数据库,提高了并发性能。

- 隔离性:MVCC提供了读写操作的隔离性,避免了读写冲突和数据不一致的问题。

- 降低锁冲突:MVCC使用乐观锁机制,减少了锁冲突的可能性,提高了系统的吞吐量。

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

相关文章:

  • 宜昌网站建设多少钱嵌入式系统开发
  • 马鞍山市住房和城乡建设部网站廉政网站 建设需求
  • 网站备案地网站 带数据
  • 淄博网站备案公司P2P网站怎么建设
  • seo网站推广优化论文电子商务网站建设与维护pdf
  • 苏州专业高端网站建设机构wordpress 吃cpu
  • 哪做网站好wordpress 订餐模板
  • 怎么自己做APP网站软件项目开发流程和步骤
  • 自己做的网站怎样才有网址浏览沂南建设局网站
  • nas可以做网站服务器手机网站开发看什么书
  • 东台建设企业网站动易门户网站价格
  • 营业推广方式seo sem 外贸建站 网站建设 文化墙设计
  • 建设银行住房公积金卡网站电商网站功能设计
  • 气象网站建设湛江人做寄生虫网站
  • html格式网站用户管理系统登录admin
  • 中国建设银行官网站用cms建设网站课程宅门
  • excel做网站数据库icp许可证查询系统
  • 唐山设计网站公司免费建造网站系统
  • 济南网站建设培训班大网站开发费用
  • 如何查找网站备案南京企业建设网站设计
  • 地方门户网站运营方案ui培训基地
  • 柳江网站建设有招聘网站策划的吗
  • 微信公众号内嵌网站开发如何建设网站子页
  • 网站建设平台设备将网站加入小程序
  • 建收费网站深圳品牌公寓有哪些
  • 昆明怎样优化网站电子商务网站的建设步骤有
  • asp影视网站源码杭州千锋教育地址
  • 自贡市城市建设投资开发集团有限公司网站品牌排名网站
  • 网站静态和动态区别物流网站建设方案
  • 太原做网站的鸣蝉公司电商网站设计公司只选亿企邦