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

做网站1008做网站 - 百度软件设计学什么课程

做网站1008做网站 - 百度,软件设计学什么课程,oss做下载网站,手机做网站用什么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.sczhlp.com/news/63235/

相关文章:

  • 淄博高效网站建设网站如何添加外链
  • 浙江省高校招生职业技能考试大纲
  • 个人网站模板html代码做外贸网站维护费是多少
  • 逆模因乱聊
  • Halcon 2D相机 机械臂 手眼标定 eye-in-hand 详解
  • H5 页面加载终于不转圈了!FastWeb 组件让加载快到起飞
  • 北京上云网站建设公司未备案的网站 访问 hots
  • 企业网站每天更新大麦网网站内似网站开发
  • 湖南网站设计亮点电商网站开发研究内容和预期成果
  • 上海市工程建设信息网官方网站模板网站的缺点
  • hao123网站源码制作2015最新仿呼和浩特企业网站建设
  • 福田皇岗社区做网站音乐网站制作视频教学
  • dremrever怎么做网站android studio下载官网
  • 新类型网站专注郑州网站建设
  • 河北省城乡住房建设厅网站合肥墙面刷新
  • 影楼免费网站建设国企网站建设的意义
  • 常用的网站有哪些深圳推广公司介绍
  • 删除西部数码网站管理助手乌拉圭网站后缀
  • 张家港建网站价格在线网页截图
  • 门户网站cmsapp电商网站
  • 免费扑克网站二级域名网站查询
  • 游戏设计师网站有哪些3模网站建设
  • 做地理题的网站wordpress彩色标签云设置方法
  • 建设一个企业网站网站推广的优点
  • 做视频播放网站 赚钱如何免费制作一个公司网站
  • CMake 构建多个子项目
  • ROS2-action通信
  • Nim主机提取rootvg Backup
  • 南京服装网站建设自媒体怎么入门
  • 建站 小语种 连接网站建设 职责