Mysql如何优化数据查询方案

  1. mysql做读写分离
    读写分离是提高mysql并发的首选方案。
  1. Mysql主从复制的原理
    mysql的主从复制依赖于binlog,也就是记录mysql上的所有变化并以二进制的形式保存在磁盘上,复制的过程就是将binlog中的数据从主库传输到从库上。
    主从复制过程详细分为3个阶段:

    第一阶段:主库写binlog。提交数据,并更新本地数据。

第二阶段:同步binlog。binlog复制到所有从库上。每个binlog写到暂存日志中。

第三阶段:回放binlog。并更新存储数据。

mysql默认是异步模式。mysql主库提交事务的线程并不会等待binlog同步到各从库,就返回客户端结果。这种模式一旦主库宕机。数据就会发生丢失。

Mysql主从复制还有哪些模型?

电商平台的商品评论的实际案例,设计一个主从复制的延迟方案

  1. 主从复制延迟导致的异常的处理方案:
    1)直接查询主库
    该方案在使用时要提前明确查询的数据量不大,不然会出现主库写请求锁行,影响读请求的执行,最终对主库造成比较大的压力。

2)使用数据冗余。

可以在异步调用审核模块时,不仅仅发送商品ID,而是发送审核模块需要的所有评论信息,借此避免在从库中重新查询数据,但你要注意每次调用的参数大小,过大的消息会占用网络带宽和通信时间。

3)使用缓存解决

可以在写入数据主库的同时,把评论数据写到redis缓存里,这样其他线程在获取评论信息时,会优先查询缓存,也可以保证数据的一致性。

  1. 当 MySQL做了主从分离后,以前只需要使用一个数据库地址操作数据库,现在却要使用一个主库地址和多个从库地址,并且还要区分写入操作和查询操作,那从工程代码上设计,怎么实现主库和从库的数据访问呢?
相关推荐
流星白龙3 小时前
【Redis】3.Redis安装与命令行客户端
数据库·redis·缓存
二宝哥4 小时前
MySQL 修改密码策略详解:从基础到高级配置
mysql·密码学
凌虚4 小时前
基于 PostgreSQL WAL 构建 CDC 系统:原理与工程实现
数据库·后端·postgresql
BullSmall5 小时前
PostgreSQL 14 pg_dumpall 完整备份指南
数据库·postgresql·oracle
一嘴一个橘子5 小时前
MysqL 索引的列 都是什么意思
mysql
一只枫林6 小时前
MySQL内、外连接知识点汇总
java·前端·数据库
暮暮祈安6 小时前
Celery 新手入门指南
java·数据库·python·flask·httpx
xiaowang1234shs6 小时前
怪兽轻断食技术深度测评:从断食计时引擎到AI识别算法的工程实践解析
数据库·人工智能·算法·macos·机器学习·p2p·visual studio
Quincy_Freak7 小时前
银河麒麟 aarch64 环境下轻量 SQLite 管理方案实践:SQLiteGo 落地体验
数据库·sqlite·sqlitego
灵机一物7 小时前
企业选型参考:2026 CXL 内存扩展方案六强测评与落地指南
服务器·网络·数据库·人工智能