慢查询日志中long_query_time
与log_queries_not_using_indexes与min_examined_row_limit 关系分析
 
参数介绍:
long_query_time:慢查询日志记录超时的时间,无论是不是有索引,单位秒。
log_queries_not_using_index:慢查询日志记录没有使用索引的记录,无论是否超时long_query_time。
min_examined_row_limit:慢查询日志仅仅记录扫描行数超过行min_examined_row_limit的记录(不包括该参数值本身,是大于该参数值的扫描行)。
综合分析:
记录日志关系 =  (long_query_time  ||
log_queries_not_using_indexes)&&
min_examined_row_limit
可见即使满足超时条件,如果不满足扫描行数条件,也不会记录,因此这个参数要慎用。可见如果以上公式中三个参数都开启,那么满足下面2个条件其中之一才会被记录。
1.我们有只有超时
且 扫描行数大于min_examined_row_limit时候才会被记录。
2.我们有只有没有使用索引 且
扫描行数大于min_examined_row_limit时候才会被记录。
注意的问题:
Tags1:min_examined_row_limit有会话变量和全局变量,动态改变参数值的时候需要分别进行修改,实测过程中改变全局变量(set
global min_examined_row_limit=100)不会同步改变会话变量(set
min_examined_row_limit=100),因此必须手动改变会话变量,才会对当前会话有效。
Tags2:需要注意的是min_examined_row_limit检测的行数有时候与explain的有些出入,有时候同一个语句,explain显示的select_type=simple的扫描行数rows与慢查询日志中记录的Rows_examined:不一样,后者会多500行左右,不知道为何  
下面是Mariadb 5.5.64服务器上进行测试的相关代码:
explain select * from hpx_member
where u_id = 888444;#u_id 有索引测试
explain select * from hpx_member where major
= '8881';#major没有索引测试
explain select * from hpx_member where  phone like
'15933%';#phone有索引测试,测试扫描行数与min_examined_row_limit关系
select * from hpx_member
where  phone like '1593356%';
show global VARIABLES like
'%index%'
show   VARIABLES like '%index%'
show global VARIABLES like
'%min_examined_row_limit%'
show  VARIABLES like
'%min_examined_row_limit%'
show   VARIABLES like '%long_query_time%'
set
global  long_query_time=0.0001
set
global  log_queries_not_using_indexes=off
set
global  min_examined_row_limit=0
set   min_examined_row_limit=50
select
sleep(2),8888;
欢迎加我们微信wang1415035017进入微信高级技术群共同进步,或者扫码加入我们哦(V_V) 

欢迎加我们微信wang1415035017进入微信高级技术群共同进步,或者扫码加入我们哦(V_V)

 
 
 

Mysql(Mariadb)慢查询日志中long_query_time 与log_queries_not_using_indexes与min_examined_row_limit 关系分析的更多相关文章

  1. PHP慢脚本日志和Mysql的慢查询日志

    1.PHP慢脚本日志 间歇性的502,是后端 PHP-FPM 不可用造成的,间歇性的502一般认为是由于 PHP-FPM 进程重启造成的. 在 PHP-FPM 的子进程数目超过的配置中的数量时候,会出 ...

  2. PHP慢脚本日志和Mysql的慢查询日志(转)

      1.PHP慢脚本日志 间歇性的502,是后端 PHP-FPM 不可用造成的,间歇性的502一般认为是由于 PHP-FPM 进程重启造成的. 在 PHP-FPM 的子进程数目超过的配置中的数量时候, ...

  3. MySQL 开启慢查询日志

    1.1 简介 开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能. 1.2 登录数据库查看 [root@localhost lib]# ...

  4. mysql 打开慢查询日志

    打开mysql的配置文件  my.ini或是my.cnf找到节点[mysqld]下添加下面这两行(默认可能不带这两行,直接手敲即可) [AppleScript] 纯文本查看 复制代码 ? 1 2 3 ...

  5. MySQL之慢查询日志和通用查询

    MySQL中的日志包括:错误日志.二进制日志.通用查询日志.慢查询日志等等.这里主要介绍下比较常用的两个功能:通用查询日志和慢查询日志. 1.通用查询日志:记录建立的客户端连接和执行的语句. 2.慢查 ...

  6. mysql 通过慢查询日志查写得慢的sql语句

    MySQL通过慢查询日志定位那些执行效率较低的SQL 语句,用--log-slow-queries[=file_name]选项启动时,mysqld 会写一个包含所有执行时间超过long_query_t ...

  7. mysql 开启慢查询 如何打开mysql的慢查询日志记录

    mysql慢查询日志对于跟踪有问题的查询非常有用,可以分析出当前程序里有很耗费资源的sql语句,那如何打开mysql的慢查询日志记录呢,接下来将详细为您介绍 原文出自:http://www.jbxue ...

  8. 学会读懂 MySql 的慢查询日志

    在前边的博客<何时.怎样开启 MySql 日志?>中,我们了解到了怎样启用 MySql 的慢查询日志. 今天我们来看一下怎样去读懂这些慢查询日志.在跟踪慢查询日志之前.首先你得保证最少发生 ...

  9. mysql使用慢查询日志分析数据执行情况

    #查询慢查询日志文件路径show variables like '%slow_query%';#开启慢查询日志 ; #设置慢查询阀值为0,将所有的语句都记入慢查询日志 ;#未使用索引的查询也被记录到慢 ...

随机推荐

  1. Office 365管理员设置

    一.注册 1.输入网站 http://www.21vbluecloud.com/  ,进入世纪互联蓝云官方网站 2.选择 运营的产品->Office 365 3.选择了解更多 4.浏览根据不同的 ...

  2. ACG记录整理

    资料来源 日文维基百科 bangumi番组计划 中文维基百科 百度百科 豆瓣电影 资料类型 テレビアニメ‎ OVA‎ アニメ映画‎ Webアニメ‎ 内容说明 番名,带超链接介绍,尽量选用国内网站介绍, ...

  3. 堆优DIJ模板

    Dij:贪心思想的单源最短路,时间复杂度O(n^2). Dij算法流程: d数组记录源点s到每个点的距离,若无边则设为inf,标记源点: 选出d数组中未标记的最小值,该节点记为k,并标记k为已求出最短 ...

  4. 使用junit测试springMVC项目提示ServletContext找不到定义错误

    原文链接:https://blog.csdn.net/liu_gan/article/details/78400627 @RunWith(SpringJUnit4ClassRunner.class) ...

  5. MyBatis学习笔记一:MyBatis最简单的环境搭建

    MyBatis的最简单环境的搭建,使用xml配置,用来理解后面的复杂配置做基础 1.环境目录树(导入mybatis-3.4.1.jar包即可,这里是为后面的环境最准备使用了web项目,如果只是做 my ...

  6. 用css3实现图片的放大缩小

    记录一个公用的css实现图片的放大缩小 @keyframes scaleDraw { /*定义关键帧.scaleDrew是需要绑定到选择器的关键帧名称*/ 0%{ transform: scale(1 ...

  7. 吴裕雄--天生自然 R语言开发学习:基本数据管理

    #---------------------------------------------------------# # R in Action (2nd ed): Chapter 4 # # Ba ...

  8. 通用 mapper的简单使用

    通用 MAPPER的简单使用 官方  https://mapperhelper.github.io/docs/2.use/ 依赖 <dependency> <groupId>t ...

  9. JavaScript深入浅出-闭包

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 function (){ var localVal ...

  10. 将js进行到底:node学习5

    HTTP开发之Connect工具集--中间件 继学习node.js的TCP API和HTTP API之后,node.js web开发进入了正轨,但这就好像Java的servlet一样,我们不可能使用最 ...