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

b2b平台免费推广郑州seo优化外包顾问阿亮

b2b平台免费推广,郑州seo优化外包顾问阿亮,怎么做网站免费的,成都logo标志设计数据库事务数据库事务是数据库系统执行过程中的一个逻辑处理单元,保证一个数据库操作要么成功,要么失败。数据库事务具有以下四个基本属性:原子性(Atomicity)一致性(Consistent)隔离性(Isolation)持久性(Durable)正是这些特性,才保…

数据库事务

数据库事务是数据库系统执行过程中的一个逻辑处理单元,保证一个数据库操作要么成功,要么失败。

数据库事务具有以下四个基本属性:

原子性(Atomicity)

一致性(Consistent)

隔离性(Isolation)

持久性(Durable)

正是这些特性,才保证了数据库事务的安全性。而在MySQL中,鉴于MyISAM存储引擎不支持事务,MySQL的事务都是在InnoDB存储引擎的基础上进行的。

事务隔离机制

InnoDB实现了两种类型的锁机制:共享锁(S)和排他锁(X)。

共享锁允许一个事务读数据,不允许修改数据,如果其他事务要再对该行加锁,只能加共享锁;

排他锁是修改数据时加的锁,可以读取和修改数据,一旦一个事务对该行数据加锁,其他事务将不能再对该数据加任务锁。

在操作数据的事务中,不同的锁机制会产生以下几种不同的事务隔离级别,不同的隔离级别分别可以解决并发事务产生的几个问题,对应如下:

未提交读(Read Uncommitted):在事务A读取数据时,事务B读取和修改数据加了共享锁。这种隔离级别,会导致脏读、不可重复读以及幻读。

已提交读(Read Committed):在事务A读取数据时增加了共享锁,一旦读取,立即释放锁,事务B读取修改数据时增加了行级排他锁,直到事务结束才释放锁。也就是说,事务A在读取数据时,事务B只能读取数据,不能修改。当事务A读取到数据后,事务B才能修改。这种隔离级别,可以避免脏读,但依然存在不可重复读以及幻读的问题。

可重复读(Repeatable Read):在事务A读取数据时增加了共享锁,事务结束,才释放锁,事务B读取修改数据时增加了行级排他锁,直到事务结束才释放锁。也就是说,事务A在没有结束事务时,事务B只能读取数据,不能修改。当事务A结束事务,事务B才能修改。这种隔离级别,可以避免脏读、不可重复读,但依然存在幻读的问题。

可序列化(Serializable):在事务A读取数据时增加了共享锁,事务结束,才释放锁,事务B读取修改数据时增加了表级排他锁,直到事务结束才释放锁。可序列化解决了脏读、不可重复读、幻读等问题,但隔离级别越来越高的同时,并发性会越来越低。

InnoDB中的RC和RR隔离事务是基于多版本并发控制(MVCC)实现高性能事务。一旦数据被加上排他锁,其他事务将无法加入共享锁,且处于阻塞等待状态,如果一张表有大量的请求,这样的性能将是无法支持的。

MVCC对普通的 Select 不加锁,如果读取的数据正在执行Delete或Update操作,这时读取操作不会等待排它锁的释放,而是直接利用MVCC读取该行的数据快照(数据快照是指在该行的之前版本的数据,而数据快照的版本是基于undo实现的,undo是用来做事务回滚的,记录了回滚的不同版本的行记录)。MVCC避免了对数据重复加锁的过程,大大提高了读操作的性能。

锁具体实现算法

InnoDB既实现了行锁,也实现了表锁。行锁是通过索引实现的,如果不通过索引条件检索数据,那么InnoDB将对表中所有的记录进行加锁,其实就是升级为表锁了。

行锁的具体实现算法有三种:record lock、gap lock以及next-key lock。record lock是专门对索引项加锁;gap lock是对索引项之间的间隙加锁;next-key lock则是前面两种的组合,对索引项及其之间的间隙加锁。

Record Lock:单个行记录上的锁。

Gap Lock:间隙锁,锁定一个范围,但不包括记录本身。GAP锁的目的,是为了防止同一事务的两次当前读,出现幻读的情况。

Next-Key Lock:1+2,锁定一个范围,并且锁定记录本身。对于行的查询,都是采用该方法,主要目的是解决幻读的问题。

只在可重复读或以上隔离级别下的特定操作才会取得gap lock或next-key lock;

在Select 、Update和Delete时,除了基于唯一索引的查询之外,其他索引查询时都会获取gap lock或next-key lock,即锁住其扫描的范围。

优化高并发事务方案

1. 结合业务场景,使用低级别事务隔离

2. 避免行锁升级表锁

在InnoDB中,行锁是通过索引实现的,如果不通过索引条件检索数据,行锁将会升级到表锁。表锁是会严重影响到整张表的操作性能的,所以应该避免它。

3. 控制事务的大小,减少锁定的资源量和锁定时间长度

Reference

http://www.lbrq.cn/news/2735173.html

相关文章:

  • 政府门户网站建设意义全国疫情最新名单
  • 青岛网站建设咨询百度词条官网入口
  • 网站制作流程 优帮云宁波seo推广优化
  • p2p网站建设规划百度公司怎么样
  • 营销型网站重要性网站seo排名优化软件
  • 南通专业网站建设公司惠州seo
  • 网站抠图怎么做的举例网络营销的例子
  • 新世纪建设集团有限公司网站seo营销推广服务公司
  • 商务网站创建经费预算快速优化官网
  • 机票便宜 网站建设seo优化博客
  • 服务器哪些端口可以做网站免费网站软件
  • 合肥学做网站app的学校软文代写价格
  • 小程序开发平台源代码下载北京seo做排名
  • 网站banner图做多大sem竞价教程
  • 委托完成网站建设合同模板网络营销试卷
  • 国外社交网站设计欣赏市场营销案例100例
  • 网站维护知识抖音广告投放平台官网
  • 网站后台管理模板下载seo关键词推广优化
  • 网站建设seo 视频教程发外链比较好的平台
  • 怎呀做网站网上销售有哪些方法
  • 日本企业网站模板招聘网络营销推广人员
  • 成都网站制作售后今日时事新闻
  • 天华集团官网网络seo排名
  • 网站企业建设方案电工培训
  • 顺义企业建站费用新手seo要学多久
  • 南京 网站建设 运营服务 骗子公司发布软文的平台有哪些
  • 老实人做网站seo站长之家
  • 网站建设有哪些方法企业推广是什么职业
  • wordpress调用备案号如何优化关键词搜索排名
  • 如何在服务器上做网站友情链接交易
  • 《从入门到精通:Kafka核心原理全解析》
  • 【数据分析】比较SparCC、Pearson和Spearman相关性估计方法在合成组学数据上的表现
  • 学习游戏制作记录(制作系统与物品掉落系统)8.16
  • bilibili视频总结
  • 《量子雷达》第4章 量子雷达的检测与估计 预习2025.8.14
  • P5967 [POI 2016] Korale 题解