MqSQL - 调优手段

2021-04-21  本文已影响0人  kyo1992

SQL调优

SQL 调优往往是解决数据库问题的第一步,往往投入少部分精力就能获得较大的收益。
SQL 调优主要目的是尽可能的让那些慢 SQL 变快,手段其实也很简单就是让 SQL 执行尽量命中索引。

开启慢 SQL 记录

需要在 Mysql 配置文件中配置几个参数即可

slow_query_log=on
long_query_time=1
slow_query_log_file=/path/to/log
调优的工具

使用 explain 这个命令来查看 SQL 语句的执行计划,通过观察执行结果很容易就知道该 SQL 语句是不是全表扫描、有没有命中索引。
返回列意义:

select_type:

type:
const:只有一条查询结果 & 主键/唯一索引
eq_ref:联合查询 &主键/唯一索引&只有一条查询结果
ref:非唯一索引
range:使用索引进行范围查询时
index:查询的字段是索引一部分,覆盖索引; 使用主键排序
all:全表扫描

ALL、index、range、 ref、eq_ref、const、system、NULL(从左到右,性能从差到好)
ALL 代表这条 SQL 语句全表扫描了,需要优化。一般来说需要达到range 级别及以上。

possible_keys:可选择的索引
key:实际使用的索引
rows:扫描的行数

索引优化

例如索引减少数据库扫描的行数,
例如覆盖索引,联合索引,前缀索引等。

优化数据访问

减少请求的数据量,只查询必要的列,例如

重构查询方式

数据量大的表,做分页,分批查询。

上一篇 下一篇

猜你喜欢

热点阅读