MySQL应用层优化方法
使用连接池
原理:
- 当进程启动时,创建相应的数据库连接池对象;
- 果程序需要请求数据库,则直接从连接池获取到一个连接;
- 数据库请求完成后,释放数据库连接池。
在《高性能 MySQL》第 14 章:应用层优化中就提到:当遇到连接池完全占满时,应该将连接请求进行排队,而不是扩展连接池。这样可以避免将压力都转到 MySQL 上而导致 MySQL 连接数过多。
减少对 MySQL 的访问
使用 Redis 缓存
- 计数器
- K-V 数据缓存
- 消息队列
单表过大及时归档
单张表过大,可能有下面影响:
- 在修改表结构时导致长时间主从延迟;
- 备份时间过久;
- 查询速度可能也会变慢。