Mysql优化-1

Mysql

  1. 查看优化器状态

show variables like ‘optimizer_trace’;

  1. 会话级别临时开启【注意是session级会话】

set session optimizer_trace=“enabled=on”,end_markers_in_json=on;

  1. 设置优化器追踪的内存大小

set OPTIMIZER_TRACE_MAX_MEM_SIZE=1000000:

  1. 执行自己的SQL

select host.user.plugin from user; 。
执行自己的sql别复制我的这条示例

  1. information_schema.optimizer_trace表

SELECT trace FROM information_schema.OPTIMIZER_TRACE

  1. 导入到一个命名为xx,ace的文件,然后用SON阅读器来查看 【如果没有控制台权限,或直接交由运维,
    让他把该rrace文件输出给你就行了。)

SELECT TRACE INTO DUMPFILE "E:\test.trace"FROM
INFORMATION_SCHEMA.OPTIMIZER_TRACE;

重点查看以下函数

  • rows_estimation
  • considered_excution_plans
  • 举例
    查看cost 指的是【CPU+IO】40512 大约是4s
{
    "rows estimation":[
        {
            "table":"user infoui",
            "table scan":{
                "rows":9722376,
                "cost":40512
            }
        }
    ]
}
  • 写SQL 避免写一些隐式转换

你可能感兴趣的:(Mysql,java,mysql)