MySQL万能优化套路你值得拥有

1. 查看优化器状态

  • show variables 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阅读器来查看

  • SELECT TRACE INTO DUMPFILE "/tmp/test.trace" FROM INFORMATION_SCHEMA.OPTIMIZER_TRACE;

注意:(如果没有控制台权限,或直接交由运维,让他把该 trace 文件,输出给你就行了。)。

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

往期推荐:

刷题2个月,终于进了梦寐以求的大厂,数据结构和算法太TM重要了!

2020-06-19

扫描二维码关注公众号,回复: 11464551 查看本文章

开源项目AppGet 作者:大厂“套取”了我的方案后把我扔到了一边

2020-06-19

猜你喜欢

转载自blog.csdn.net/qq_35067322/article/details/106880409