mysql慢查询Slow Query Log和未使用索引(Not Using Indexes)查询配置和使用
mysql的“慢查询”指的是超过了允许的最大查询时间(long_query_time
)的sql语句,而“未使用索引”查询顾名思义就是查询语句没有使用到索引的sql语句。
慢查询配置和使用
在msyqld的启动配置文件或命令行参数中增加以下参数
long_query_time=1
log-slow-queries=/var/mysql/logs/slow.log
long_query_time参数表示的是慢查询的度量时间,单位是秒,最小是1,缺省值是10,凡是执行时间超过long_query_time的sql语句都会记录到慢查询日志中。
--log-slow-queries[=
的file_name参数可选,缺省值是file_name
]
,如果指定了file_name参数的话,mysql就会把慢查询的日志记录到file_name所设定的文件中,如果file_name提供的是一个相对路径,mysql会把日志记录到mysql的data目录中。host_name
-slow.log
未使用索引查询配置和使用
在mysql的启动配置文件或命令行参数中增加--log-queries-not-using-indexes
参数就可以启用未使用索引查询语句了,日志记录的文件就是log-slow-queries对应的文件。
//mysql.conf
log-queries-not-using-indexes
使用案例
mysql的配置如下
[mysqld]
#Slow Query log
long_query_time=3log-slow-queries
# Log queries that is not using indexes
log-queries-not-using-indexes
执行以下命令
select sleep(1);
select sleep(3);
select * from t1;
日志内容如下
D:\MySQL\MySQL Server 5.1\bin\mysqld, Version: 5.1.31-community-log (MySQL Community Server (GPL)). started with:
TCP Port: 3306, Named Pipe: (null)
Time Id Command Argument
# Time: 090625 12:58:09
# User@Host: root[root] @ localhost [127.0.0.1]
# Query_time: 3.000077 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0
SET timestamp=1245905889;
select sleep(3);
# Time: 090625 12:58:42
# User@Host: root[root] @ localhost [127.0.0.1]
# Query_time: 0.046876 Lock_time: 0.031251 Rows_sent: 0 Rows_examined: 0
SET timestamp=1245905922;
select * from t1;
其他
除此之外还有一些专门的慢查询日志分析、查询工具,大家可以google以下相关的内容。
mysql慢查询Slow Query Log和未使用索引(Not Using Indexes)查询配置和使用的更多相关文章
- MySQL:动态开启慢查询日志(Slow Query Log)
前言 在开发中,高效能的程序 也包括 高效能的查询,所以优化SQL也是程序员必要技能之一.要优化就必须要有慢日志记录才可以知道哪些查询慢,然后反向去修改 慢日志设置方式 写入文件 写入数据库 实践操作 ...
- mysql中slow query log慢日志查询分析
在mysql中slow query log是一个非常重要的功能,我们可以开启mysql的slow query log功能,这样就可以分析每条sql执行的状态与性能从而进行优化了. 一.慢查询日志 配置 ...
- MySQL 慢查询日志(Slow Query Log)
同大多数关系型数据库一样.日志文件是MySQL数据库的重要组成部分.MySQL有几种不同的日志文件.通常包含错误日志文件,二进制日志,通用日志.慢查询日志.等等.这些日志能够帮助我们定位mysqld内 ...
- Mysql slow query log
一.概念部分: 顾名思义,慢查询日志中记录的是执行时间较长的query,也就是我们常说的slow query,通过设--log-slow-queries[=file_name]来打开该功能并设置记录 ...
- MySQL专题 2 数据库优化 Slow Query log
MySQL Server 有四种类型的日志——Error Log.General Query Log.Binary Log 和 Slow Query Log. 第一个是错误日志,记录 mysqld 的 ...
- MySQL四种类型日志:Error Log、General Query Log、Binary Log、Slow Query Log
MySQL Server 有四种类型的日志——Error Log.General Query Log.Binary Log 和 Slow Query Log. 第一个是错误日志,记录mysqld的一些 ...
- Mongodb慢查询笔记 (Mongodb slow query log)
-- =========================== -- mongodb slow query log -- =========================== Reference: h ...
- MySQL 通用查询日志(General Query Log)
同大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分.MySQL有几种不同的日志文件,通常包括错误日志文件,二进制日志,通用日志,慢查询日志,等等.这些日志可以帮助我们定位mysql ...
- sql查询未走索引问题分析之查询数据量过大
前因: 客户咨询,有一个业务sql(代表经常被执行且重要),全表扫描在系统占用资源很高(通过ash报告查询得到信息) 思路: 1.找到sql_text,sql_id 2.查看执行计划 3.查询sql涉 ...
随机推荐
- 【笨嘴拙舌WINDOWS】GDI映射方式
TextOut(hdc,100,100,TEXT(“Love China”),10) 这句GDI函数的作用是在坐标点(100,100)的位置输出一个“Love China”字符串: GDI函数作为硬件 ...
- jQuery实例-记住登录信息
本文介绍下jquery 记住登录信息的方法,引入jquery.cookie.js文件,实现记住登录信息,有需要的朋友参考下. 首先,导入jquery.cookie.js $(function(){ / ...
- decorate装饰模式
package com.decorate; public class Iphone implements Phone{ @Override public void call() { System.ou ...
- [反汇编练习] 160个CrackMe之025
[反汇编练习] 160个CrackMe之025. 本系列文章的目的是从一个没有任何经验的新手的角度(其实就是我自己),一步步尝试将160个CrackMe全部破解,如果可以,通过任何方式写出一个类似于注 ...
- jquery ajax GET POST 跨域请求实现
同一段逻辑代码需要在多个网站中使用, 每个网站都新建一个ashx真是扯蛋的作法, 所以想只请求一处的ashx, 这样便于维护和修改, 那么,ajax跨域问题就来了. 废话少说, 直接上代码, 我现 ...
- 免费Gif图片录制工具
/************************************************************************* * 免费Gif图片录制工具 * 说明: * 最近在 ...
- HDU 5371 Hotaru's problem (Manacher,回文串)
题意:给一个序列,找出1个连续子序列,将其平分成前,中,后等长的3段子序列,要求[前]和[中]是回文,[中]和[后]是回文.求3段最长为多少?由于平分的关系,所以答案应该是3的倍数. 思路:先Mana ...
- NBUT 1121 Sakuya's Fly Knife 飞刀(暴力)
题意:给出一个带有n*m个格子的矩阵,部分格子中有靶子target,现在要从一个没有靶子的格子中射出飞刀数把,飞刀是可穿透靶子的,同一直线上都可以一刀全射掉.现在问在哪个格子射出飞刀,可以在全部射中的 ...
- 【英语】Bingo口语笔记(3) - 无所谓
what's in it for me? 这对我有什么好处?
- 五:分布式事务一致性协议paxos的应用场景
1.应用场景 (1)分布式中的一致性 Paxos算法主要是解决一致性问题,关于“一致性”,在不同的场景有不同的解释: NoSQL领域:一致性更强调“能读到新写入的”,就是读写一致性数据库领域:一致性强 ...