mysql数据库优化总结
四大优化方面:
减少数据访问 |
减少磁盘访问 |
1. 建表、表字段 |
2. 索引 |
||
2.1 为什么要用索引 |
||
2.2 索引分类 |
||
2.3 什么时候用索引 (频繁查询, 关联表字段或外键, 排序) |
||
2.4 如何避免索引失效 (<>, like, or, NULL,函数使用) |
||
3. 冷热备份 (20%热数据, 80%冷数据) |
||
分表分库 |
||
读写分离(减少CPU开销) 4. 添加二级缓存 |
||
减少交互次数 |
减少网络传输或磁盘访问 |
1. 分页(客户端分页、服务端分页,sql分页) |
2. 批量(insert, update, select) |
||
3. batch size 或 返回更少数据 |
||
减少服务器CPU开销 |
减少CPU及内存开销 |
1. 绑定变量,使用编程语言自封装的DML处理方式 |
2. 减少排序 |
||
3. 减少比较操作,特别是多个比较操作 |
||
4. 大量复杂运算在客户端完成,即避免sql执行大量逻辑运算 |
||
5. JOIN 关联(索引处理、大小表操作[小表在前,减少连接数])、 UNION 联合(临时表的生成) |
||
利用更多资源 |
增加资源 |
1. 客户端多进程并发 (适当并发) |
2. mysql多进程并发 (多索引查询或全表查询) |
https://github.com/jiangsiwei2018/BigData.git
实例代码git仓库地址
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具