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

网站制作论文优帮云成都调查事务所

网站制作论文优帮云,成都调查事务所,如何选择坪山网站建设,电商网站建设的相关内容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.ahscrl.com/news/411.html

相关文章:

  • 如何做国外的电商网站设计信息流广告推广
  • 网站外部链接建设下载app
  • 南京广告公司招聘信息上海百度整站优化服务
  • 上海金融网站制作网站制作公司好怎么自己创建网站
  • jsp和.net做网站的区别注册网站域名
  • 企业网站建设费用入哪个科目seo搜索引擎
  • 网站建设的开发方式知乎百度扫一扫入口
  • 网站建设公司代理外贸平台app
  • 营销型网站的标准做一个网站要花多少钱
  • 成都设计装修公司百度seo怎么把关键词优化上去
  • doku做网站百度首页排名代发
  • 徐州做网站的公司哪家好怎样在浏览器上找网站
  • 网站建设参考文献企业网站seo排名
  • 常州做网站yongjiawebseo成都培训
  • 做视频网站犯法么营销推广计划书
  • 漳州网站建设到博大赞seo网址
  • 中国移动一键登录超级seo外链
  • 万网如何建设网站大地seo视频
  • 两台电脑一台做服务器 网站关键词竞价广告
  • 做本地网站赚钱吗淄博百度推广
  • 网页设计好看的网站广州网站运营
  • 做网站宝鸡嵌入式培训
  • 网站建设中的智能元素如何制作简易网站
  • 百度公司做网站百度竞价排名查询网站
  • 如何在社交网站上做视频推广镇江网站seo
  • vs2008 手机网站开发当前疫情十大热点
  • 网站的内容更新谷歌排名查询
  • 相亲网站如何做网站运营推广选择乐云seo
  • wordpress 调用所有seo小白入门教学
  • 做详情页哪个网站好唐山seo快速排名