当需要分析执行过的SQL语句来判断问题,可以通过打开查询日志功能,但是重启MySQL服务后需要重新配置. 查询日志查询功能: SHOW VARIABLES LIKE 'general%'; general_log:日志功能是否开启,默认关闭OFF general_log_file:日志文件保存位置 开启日志: set GLOBAL general_log='ON'; 查询是否开启: SHOW VARIABLES LIKE 'general_log';…
查看执行时间 1 show profiles; 2 show variables;查看profiling 是否是on状态: 3 如果是off,则 set profiling = 1: 4 执行自己的sql语句: 5 show profiles:就可以查到sql语句的执行时间: 实例操作: mysql> show variables like '%profiling%'; +------------------------+-------+ | Variable_name | Value | +-…
有2个方法: 1.使用processlist,但是有个弊端,就是只能查看正在执行的sql语句,对应历史记录,查看不到.好处是不用设置,不会保存. -- use information_schema; -- show processlist; 或者: -- select * from information_schema.`PROCESSLIST` where info is not null; 2.开启日志模式 -- 1.设置 -- SET GLOBAL log_output = 'TABLE'…
mysql查看正在执行的sql语句 2015年08月21日 17:32:59 阅读数:15398 有2个方法: 1.使用processlist,但是有个弊端,就是只能查看正在执行的sql语句,对应历史记录,查看不到.好处是不用设置,不会保存. -- use information_schema; -- show processlist; 或者: -- select * from information_schema.`PROCESSLIST` where info is not null;…
MySQL监控全部执行过的sql语句 查看是否开启日志记录show variables like “general_log%” ; +——————+———-+|Variable_name|Value|+——————+———-+|general_log|OFF||general_log_file|/data0/logs/mysql/general.log|+——————+———-+ OFF 关闭ON 开启 临时开启日志记录set global general_log=’ON’ ; 这时执行的所有s…
在mysql命令行或者客户端管理工具中执行:SHOW VARIABLES LIKE "general_log%"; 结果: general_log OFF general_log_file /var/lib/mysql/localhost.log OFF说明没有开启日志记录 分别执行开启日志以及日志路径和日志文件名 SET GLOBAL general_log_file = '/var/lib/mysql/localhost.log'; SET GLOBAL general_log =…
在SQL优化过程,有时候需要查看哪些SQL具有多个执行计划(Multiple Executions Plans for the same SQL statement),因为同一个SQL有多个执行计划一般意味着代码有问题或某些其它原因,例如,SQL语句使用绑定变量,但是绑定变量的类型或长度可能不一致会导致同一SQL出现不同执行计划. --查看数据库里面有多个执行计划的SQL语句的SQL_ID SELECT SQL_ID, COUNT(1) AS PLAN_NUM FROM V$SQL GROUP …
1. 查看性能最差的前100sql SELECT * FROM ( SELECT PARSING_USER_ID EXECUTIONS,SORTS,COMMAND_TYPE,DISK_READS,sql_text FROM v$sqlarea ORDER BY disk_reads DESC) WHERE ROWNUM<100 2.oracle 10g 查看某session的历史执行sql情况(sql采样间隔1s) ora…
前不久,遇见一些问题,要监控一下SQL的执行,看看是不是有哪些SQL是要去掉的之类的 于是我上网找啊找啊,给出来的结果都是一种,修改my.cnf文件 我按着网上的说法去做,结果我直接崩溃了, 也不知道是不是我的环境是自己编译安装的还是其他什么的,反正按照改了以后就是死活运行不起来 没办法,只好自己看看怎么弄了 这时想起了刚刚接触mysql时的一个SQL show variables like "%name%"; set names utf8; 瞬间明了,找到了一个在没有重启mysql就…