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

滨海做网站哪家好长沙网站定制

滨海做网站哪家好,长沙网站定制,wordpress 主题,网站建设的书籍InnoDB引擎为什么选可重复读作为默认隔离级别 一般的DBMS系统,默认都会使用读提交(Read-Comitted,RC)作为默认隔离级别,如Oracle、SQL Server等,而MySQL却使用可重复读(Read-Repeatable&#x…

InnoDB引擎为什么选可重复读作为默认隔离级别

一般的DBMS系统,默认都会使用读提交(Read-Comitted,RC)作为默认隔离级别,如Oracle、SQL Server等,而MySQL却使用可重复读(Read-Repeatable,RR)。要知道,越高的隔离级别,能解决的数据一致性问题越多,理论上性能损耗更大,可并发性越低。隔离级别依次为

SERIALIZABLE > RR > RC > Read-Uncommited

InnoDB引擎选可重复读作为默认隔离级别主要是解决主从同步不一致的问题。

从Binlog说起

Mysql binlog是二进制日志文件,用于记录mysql的数据更新或者潜在更新(比如DELETE语句执行删除而实际并没有符合条件的数据),在mysql主从复制中就是依靠的binlog。可以通过语句“show binlog events in ‘binlogfile’”来查看binlog的具体事件类型。binlog记录的所有操作实际上都有对应的事件类型的

MySQL binlog的三种工作模式
Row(用到MySQL的特殊功能如存储过程、触发器、函数,又希望数据最大化一直则选择Row模式)
简介:日志中会记录每一行数据被修改的情况,然后在slave端对相同的数据进行修改。
优点:能清楚的记录每一行数据修改的细节
缺点:数据量太大

Statement (默认)简介:每一条被修改数据的sql都会记录到master的bin-log中,slave在复制的时候sql进程会解析成和原来master端执行过的相同的sql再次执行。在主从同步中一般是不建议用statement模式的,因为会有些语句不支持,比如语句中包含UUID函数,以及LOAD DATA IN FILE语句等
优点:解决了 Row level下的缺点,不需要记录每一行的数据变化,减少bin-log日志量,节约磁盘IO,提高新能
缺点:容易出现主从复制不一致

Mixed(混合模式)简介:结合了Row level和Statement level的优点,同时binlog结构也更复杂。

主从不一致实操

binlog为STATEMENT格式,且隔离级别为**读已提交(Read Commited)**时,有什么bug呢?

mysql> select * from test;
±—±-----±-----+
| id | name | age |
±—±-----±-----+
| 1 | NULL | NULL |
| 2 | NULL | NULL |
| 3 | NULL | NULL |
| 4 | NULL | NULL |
| 5 | NULL | NULL |
| 6 | NULL | NULL |
±—±-----±-----+
6 rows in set (0.00 sec)

这个时候我们有两个事务进行操作
在这里插入图片描述

Master此时输出

select * from test;
±—±-----±-----+
| id | name | age |
±—±-----±-----+
| 7 | name | 100 |
±—±-----±-----+
1 row in set (0.00 sec)

但是,你在此时在从(slave)上执行该语句,得出输出

mysql> select * from test;
Empty set (0.00 sec)

在master上执行的顺序为先删后插。
而此时binlog为STATEMENT格式,是基于事务记录,在事务未提交前,二进制日志先缓存,在commit提交后再写入记录的,因此顺序为先插后删!slave同步的是binglog,因此从机执行的顺序和主机不一致。slave在插入后删除了所有数据.

解决方案有两种:

(1) 隔离级别设为可重复读(Repeatable Read),在该隔离级别下引入间隙锁。当Session 1执行delete语句时,会锁住间隙。那么,Ssession 2执行插入语句就会阻塞住。

(2) 将binglog的格式修改为row格式,此时是基于行的复制,自然就不会出现sql执行顺序不一样的问题。奈何这个格式在mysql5.1版本开始才引入。因此由于历史原因,mysql将默认的隔离级别设为可重复读(Repeatable Read),保证主从复制不出问题!

http://www.shuangfujiaoyu.com/news/31857.html

相关文章:

  • ps怎么做网站导航搜索引擎优化是做什么的
  • 宽屏网站做多少合适有什么平台可以推广信息
  • 对比色的网站客源引流推广
  • 怎么把网站提交环球军事新闻最新消息
  • 大连网站制作学校环球网广东疫情最新消息
  • 班级网站模板网站排名优化制作
  • 世界500强企业标准网站关键词优化费用
  • 个人商城网站怎么做站长之家ppt模板
  • 做软件界面的网站济南seo优化外包服务
  • 四川做网站的seo网站推广技术
  • 做电影网站需要哪些条件手机网站排名优化软件
  • 奶茶店做网站好处aso优化怎么做
  • 仿百度 wordpressseo博客网站
  • 上海做网站企业片多多可以免费看电视剧吗
  • 南通网站建设外包宁德市古田县
  • 深圳黑马程序员培训机构地址网站优化排名首页
  • 建立一个网站需要多久竞价软件哪个好
  • 网站开发的类型关键词seo排名优化如何
  • 最少的钱做网站域名年龄对seo的影响
  • 网站开发需要做什么工作站长之家统计
  • 公司网站站建设协议品牌网络推广
  • 如何做淘客网站源码万网域名查询官网
  • 衢州建设局网站百度手机助手app免费下载
  • 网站建设免费代理湖南网站建设推荐
  • 用哪个软件做网站好今日头条热搜榜
  • 建设手机网站大概要多少钱网页设计代码
  • 做一下网站收购废钢百度蜘蛛池自动收录seo
  • 外贸原单是什么意思广州网站优化外包
  • 好的建设网站公司企业查询网站
  • 吕梁做网站的公司怎么申请网站空间