黄小华的个人网站
熬过无人问津的日子才有诗和远方!
MySql调优

SQL调优学习笔记
SQL优化的5个方面
1.服务器硬件性能(机械硬盘换固态硬盘)
2.MySql服务器优化
3.SQL语句本身优化
4.反范式设计优化(阿里规范)
5.索引优化

3

通过日志找到总时间最慢的几个查询 mysql可以查询到记录所有查询执行时间超过loog-query-time参数设定时间阈值的SQL语句的日志
要下载perl相关工具
查询命令 perl mysqldumpslow.pl -s t -t 5 c://日志文件.pl
找到该条SQL语句 分析该查询慢的语句
一般关联查询要比关联子查询要快。

4

设计数据库一般要遵循三大范式 这样能够减少数据冗余 提高空间利用率
对数据的删除,新增 修改有利 对查询有弊
在阿里规范中有反范式设计优化 就是在合适的地方可以允许一定数据冗余提高擦查询效率(以空间换时间)如Redis缓存就是以空间换时间的一种

5索引调优

查看索引
show index from table
创建索引
CREATE UNIQUE INDEX index_name ON table_name (column_name) ;
删除索引
drop index index_name on table_name ;
对一个SQL语句使用explain可以查看它是否充分走了索引
QQ截图20200630001827.png