开发者社区> 问答> 正文

Mysql主从中Master上面的Mysql Query与Slave上的bin-log执行上的差别

今天突然想到一个问题,而后有一些疑问,希望各位道友予以解惑!
一般来说,当并发到一定程度,单台的Mysql服务器承受不住的时候,会做主从来缓解压力。而主从的原理就是Master端在执行查询的时候,会生成bin-log日志,然后Master会把bin-log日志同步到Slave端,然后Slave端执行bin-log日志,来实现主从的数据复制,而这时候,我们可以把读的操作指向Slave端,从而分解,降低Master端的压力。
我的疑问是这时候Master端写的压力与Slave端写的压力是否变化不大,当然,前提是我们忽略主从同步所带来的那几秒延迟与误差。因为Master的写操作,生成bin-log,然后同步到Slave端,Slave端执行bin-log其实也是一个执行写操作的过程,当我们忽略那几秒误差与延迟的前提下,它的写压力是不是变化也不会太大。另外,Master执行查询与Slave端执行bin-log里面的查询,有没有什么区别?或者说执行bin-log比直接执行SQL语句效率要高?

展开
收起
落地花开啦 2016-02-18 18:24:32 2527 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    1、从原理上来说,Master端的写压力一般要大于Slave端,不过还得看你是结构。
    2、SQL查询通过解析器、优化器、创建执行计划,执行,输出;bin-log还要实现对磁盘的IO操作,解析SQL,再重复SQL的执行过程,所以从效率上来说,普通sql的效率要高些。
    3、如果想解决数据同步和数据备份,可以考虑使用MySQL集群,不过成本就要高很多。

    2019-07-17 18:44:19
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PostgresChina2018_赖思超_PostgreSQL10_hash索引的WAL日志修改版final 立即下载
Kubernetes下日志实时采集、存储与计算实践 立即下载
日志数据采集与分析对接 立即下载

相关镜像