优化SQL步骤

1、查看SQl执行频率

全局

mysql:高级:优化

mysql:高级:优化

 

mysql:高级:优化

 2、定位低效率执行SQL

* 慢查询日志:查询结束后来分析那一条执行效率低。

* show peocesslist:

mysql:高级:优化

监测到每一个客户端执行的。定位。

 3、explain分析执行计划

explain sql语句

mysql:高级:优化

mysql:高级:优化

 

sql语句的执行计划

1、环境准备

2、检测

id:相同则看table

不同则看id

 

select_type:

mysql:高级:优化

table:是属于那张表

type:

mysql:高级:优化

mysql:高级:优化

mysql:高级:优化

 

达到range就可以,最好达到ref

key 索引

possible_key

key

key_len:越短越好,越短执行效率越高

extra:额外的

using filesort : 文件排序

using temporary : 临时表保存中间结果

using index : 使用了索引

前两个要考虑优化了

 

3、show profile

mysql ver > 5.0

通过这个工具就得知道在哪耗的时间比较多

查看:

select @@have_profiling;

select @@profiling;

开启:

set profiling = 1; -- 只针对当前会话有效

show frofiles;

show frofile for query id_num;

..................................................

 

4、trace分析优化

mysql ver > 5.4

打开trace:

set optimizer_trace = "enable=on" , end_marks_in_json=on;

set optimizer_trace_max_mem_size=1000000;  -- 开启,设置日志大小

查询:

information_schema.optimizer_trace \G;

 

 

 

相关文章:

  • 2021-10-20
  • 2021-11-30
  • 2022-12-23
  • 2021-12-26
  • 2021-12-31
  • 2021-09-29
  • 2021-05-28
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-01-18
  • 2021-10-07
  • 2022-12-23
  • 2021-10-03
  • 2021-12-14
  • 2022-12-23
相关资源
相似解决方案