MySQL--Profiling和Trace使用

使用MySQL Profiling

##=====================================##
## 查看PROFILING是否开启
SELECT @@profiling


## 开始会话级别PROFILING
SET profiling=1

## 执行要检查的SQL

## 查看捕获的所有SQL
SHOW PROFILES

## 看看特定SQL的执行信息
SHOW PROFILE CPU,BLOCK IO,SWAPS FOR QUERY 1;

##=====================================##
##SHOW PROFILE语法:
SHOW PROFILE [type [, type] ... ]
    [FOR QUERY n]
    [LIMIT row_count [OFFSET offset]]

type:
    ALL
  | BLOCK IO
  | CONTEXT SWITCHES
  | CPU
  | IPC
  | MEMORY
  | PAGE FAULTS
  | SOURCE
  | SWAPS

使用MySQL Trace

## 开启MySQL Trace
SET OPTIMIZER_TRACE="enabled=on",END_MARKERS_IN_JSON=on;

## 设置MySQL Trace最大使用内存
SET OPTIMIZER_TRACE_MAX_MEM_SIZE=100*1024*1024*1024;

## 执行需要跟踪的SQL

## 查看MySQL Trace捕获信息
SELECT * FROM INFORMATION_SCHEMA.OPTIMIZER_TRACE G

## 关闭MySQL Trace
SET optimizer_trace="enabled=off";
原文地址:https://www.cnblogs.com/gaogao67/p/10716603.html