show variables like 'general_log_file'; -- 看看日志文件保存位置
set global general_log_file='tmp/general.lg'; -- 设置日志文件保存位置
show variables like 'general_log'; -- 查看日志是否开启
set global general_log=on; -- 开启日志功能
show variables like 'log_output'; -- 看看日志输出类型 table或file
set global log_output='table'; -- 设置输出类型为 table
set global log_output='file'; -- 设置输出类型为file
show variables like '%log_output%';
show variables like '%general_log%';
保存到table
12345678910111213
-- 日志开启
SET GLOBAL log_output = 'TABLE';
SET GLOBAL general_log = 'ON';
-- 查询
SELECT * from mysql.general_log ORDER BY event_time DESC;
-- 清空表
truncate table mysql.general_log;
-- 日志关闭
SET GLOBAL log_output = 'TABLE';
SET GLOBAL general_log = 'OFF';
SELECT TOP 1000
ST.text AS '执行的SQL语句',
QS.execution_count AS '执行次数',
QS.total_elapsed_time AS '耗时',
QS.total_logical_reads AS '逻辑读取次数',
QS.total_logical_writes AS '逻辑写入次数',
QS.total_physical_reads AS '物理读取次数',
QS.creation_time AS '执行时间' ,
QS.*
FROM sys.dm_exec_query_stats QS
CROSS APPLY
sys.dm_exec_sql_text(QS.sql_handle) ST
WHERE QS.creation_time >'2020-08-18'
ORDER BY
QS.total_elapsed_time DESC
关键SQL信息查询测试
12345678910
SELECT TOP 1000
ST.text AS '执行的SQL语句',
QS.total_elapsed_time AS '耗时',
QS.creation_time AS '执行时间'
FROM sys.dm_exec_query_stats QS
CROSS APPLY
sys.dm_exec_sql_text(QS.sql_handle) ST
WHERE QS.creation_time >'2021-02-18 15:00' AND QS.creation_time <'2021-02-18 23:00'
ORDER BY
QS.total_elapsed_time DESC