Mysql的万能优化方法

在命令行运行

1.查看优化器状态

  show variable like 'optimizer_trace';

2.会话级别临时开启

  set session optimizer_trace="enabled=on",end_markers_in_json=on;

3.设置优化器追踪的内存大小
  set OPTIMIZER_TRACE_MAX_MEM_SIZE= 1000000;

4.执行自己的SQL
  select host,user,plugin from user;

5. information. schema.optimizer_trace表
  SELECT trace FROM information_schema.OPTIMIZER_TRACE;
6.导入到一个命名为xx.trace的文件,然后用JSON阅读器来查看(如果没有控制台权限,或直接交由运维,
让他把该trace文件, 输出给你就行了。)。
  SELECT TRACE INTO DUMPFILE "E:\\test.trace" FROM
INFORMATION_SCHEMA.OPTIMIZER_TRACE ;

注意:不设置优化器最大容量的话,可能会导致优化器返回的结果不全。

演示地址:https://www.bilibili.com/video/BV1Z54y1Q7XT

posted @ 2020-05-18 21:05  梁衍  阅读(183)  评论(0编辑  收藏  举报