网站首页 > 文章精选 正文
Mysql的优化主要从四个方面做。
设计层面的优化
- 合适的引擎、合适的字段、合适的长度、合适的类型、合适的预设索引 冗余字段,减少联表查询
- 控制索引数量,索引会占用资源
- 不要在更新频繁的字段上加索引
- 索引覆盖原则,减少回表,减少随机IO,尽可能的使用联合索引
- 选择基数大的字段创建索引
业务层面的优化
- 数据库连接池大小优化 缓存,减少对Mysql的压力 SQL编写的优化,比如避免使用select * 、where 1=1、非常复杂的SQL等等
- 批量提交,不要循环提交数据
- 拆解大事务,不要在事务里做其他耗时的操作
- 联表查询,联表字段一定要有索引,同时小表驱动大表
- 不要在索引上进行计算,索引失效退化、全表扫描
- 从设计层面规避深度分页问题
软硬件层面的优化
Mysql本质就是一个提供了读写能力的Server,自身存在很多的配置参数,以及依赖IO相关资源,可以做以下优化:
- 硬件升级,机械硬盘换SSD;云盘换本地盘
- 配置调整,刷盘频率、刷盘时机、线程数、连接数、缓冲区大小等等
数据架构层面的优化
- 读写分离
- 分库分表
- 冷热分离
猜你喜欢
- 2025-05-09 面试必问的 MySQL 四种隔离级别,看完吊打面试官
- 2025-05-09 面试官:mysql自增长id用完了怎么办?这是我见过最中肯的答案了
- 2025-05-09 阿里面试:MySQL Binlog有哪些格式?底层原理?优缺点?
- 2025-05-09 1.5万字+30张图盘点程序员面试必会MySQL索引常见的11个知识点
- 2025-05-09 面试中的老大难-mysql事务和锁,一次性讲清楚
- 2025-05-09 手把手指导Linux系统centos7安装数据库MySQL5.7
- 2025-05-09 面试官问我MySQL索引为啥用B+树?我让他去问作者
- 2025-05-09 MySQL面试题:自增ID达到上限了会出现什么问题?
- 2025-05-09 MySQL索引失效问题,看完手撕面试官
- 2025-05-09 阿里面试:MySQL死锁的原因?解决方案有哪些?
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)
- mysql数据库面试题 (57)