查看慢SQL

查看MySQL是否启用了查看慢SQL的日志文件

(1) 查看慢SQL日志是否启用

mysql> show variables like ‘log_slow_queries‘;
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| log_slow_queries | ON    |
+------------------+-------+
1 row in set (0.00 sec)

(2) 查看执行慢于多少秒的SQL会记录到日志文件中
mysql> show variables like ‘long_query_time‘;
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| long_query_time | 1     |  
+-----------------+-------+
1 row in set (0.00 sec)

这里value=1, 表示1秒

2. 配置my.ini文件(inux下文件名为my.cnf), 查找到[mysqld]区段,增加日志的配置,如下示例:
[mysqld]
log="C:/temp/mysql.log"
log_slow_queries="C:/temp/mysql_slow.log"
long_query_time=1
 
log指示日志文件存放目录;
log_slow_queries指示记录执行时间长的sql日志目录;
long_query_time指示多长时间算是执行时间长,单位s。
 
Linux下这些配置项应该已经存在,只是被注释掉了,可以去掉注释。但直接添加配置项也OK啦。

时间: 2024-08-30 03:05:40

查看慢SQL的相关文章

MySQL - 查看慢SQL

[转载地址:http://www.cnblogs.com/xzpp/archive/2012/07/18/2598136.html] 查看MySQL是否启用了查看慢SQL的日志文件 (1) 查看慢SQL日志是否启用 mysql> show variables like 'log_slow_queries'; +------------------+-------+| Variable_name    | Value |+------------------+-------+| log_slow_

oracle 查看并行sql语句的并行数量

1.执行sql:select /*+ parallel(a,4) */ * from tf_f_user a where rownum<100000; 2.如何查看该sql语句的并行数量: select t.sql_text,t.sql_id,s.sid from v$sql t,v$session s where t.sql_id=s.sql_id and t.sql_text like '%rownum<100000%'; 执行上面sql语句发现是4条. 3.如果执行sql:select

查看MS SQL SERVER 错误日志

查看目的: 错误日志的查看是确保过程已成功完成(例如,备份和恢复操作,批处理命令,或其他脚本和过程).这可以帮助检测任何当前或潜在的问题,包括自动恢复信息(尤其是如果SQL Server实例已停止并重新启动),内核信息,或其他服务器级别的错误消息. 存放位置: 默认情况下, sql error log的位置(SQL SERVER 2005)在: %PROGRAMFILES%\Microsoft SQL Server\MSSQL.n\MSSQL\LOG\ERRORLOG and ERRORLOG.

laravel查看执行sql的

加个监听就好了~~~~而且很简单 1.在routes.php(api.php\web.php)中添加如下语句 Event::listen('illuminate.query', function($sql,$param) {    file_put_contents(public_path().'/sql.log',$sql.'['.print_r($param, 1).']'."\r\n",8);}); 2.执行sql语句后,查看public目录下sql.log,即可看到刚才执行过的

查看Oracle SQL执行计划的常用方式

在查看SQL执行计划的时候有很多方式 我常用的方式有三种 SQL> explain plan for 2 select * from scott.emp where ename='KING'; 已解释. 第一种 最常用的 SQL> select * from table(dbms_xplan.display); Plan hash value: 3956160932 ----------------------------------------------------------------

mysql row日志格式下 查看binlog sql语句

有时候我们需要使用row作为binlog的日志格式,即配置文件使用了binlog_format= row 参数 这样以来,我们在查看数据库binlog内容时候,就看不到增删改查的具体语句了,在数据库恢复的时候 不利于我们查找恢复数据点. 使用row日志格式的日志: 可以看到都是一段段类似加密过的字符串一样,不要着急,其实sql真实语句就在这里这里,只不过 是经过64位编码转换后的内容,我们使用mysqlbinlog对应的参数即可查看具体的sql内容: mysqlbinlog --base64-o

Yii框架查看原生态sql的实现方法和使用

首先在YII的配置文件里,数据库的配置那一段增加如下两个配置. 'components' => array( 'db' => array( 'connectionString' => 'mysql:host=localhost;dbname=test', 'username' => 'test', 'password' => 'sxaskdljfjrfnmczd', 'enableProfiling' => true,    //配置1 'enableParamLogg

mysql查看执行sql语句的记录日志

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';SET GL

Django设置查看原生SQL语句

LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console':{ 'level':'DEBUG', 'class':'logging.StreamHandler', }, }, 'loggers': { 'django.db.backends': { 'handlers': ['console'], 'propagate': True, 'level':'DEBUG', }, } } 可以