MySQL 高并发基础
高并发场景下,数据库瓶颈通常来自连接、锁、慢查询和磁盘 I/O。优化不能只靠增加机器,应先定位瓶颈。
一、QPS
QPS 表示每秒处理的请求或 SQL 数量。它可以衡量数据库承受的访问压力。
二、连接池
连接池可以复用数据库连接,避免频繁创建连接。
关注参数:
- 最大连接数;
- 空闲连接数;
- 连接超时;
- 查询超时;
- 连接泄漏检测。
三、索引
高并发查询必须依赖有效索引。
常见索引失效原因:
- 对索引列使用函数;
- 隐式类型转换;
- 前置模糊查询;
- 联合索引不满足最左前缀;
- 选择性太差。
四、锁冲突
热点更新容易造成锁等待。
优化方法:
- 减少事务时间;
- 拆分热点行;
- 使用乐观锁;
- 异步削峰;
- 避免大范围更新。