慢查询日志中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. 实战_3:新建产品配置(product)并导出项目

    产品配置Product 产品配置用于定义和管理RCP应用的多个方面特征.并支持将RCP项目导出为部署包(类似eclipse压缩包),可以直接部署到其他环境上使用. 产品配置必须新建一个 扩展名为 .p ...

  2. Iterator迭代器解决[为何禁止在foreach内增删]

    迭代器的应用场景: 1.对集合进行增加删除,禁止使用foreach,循环的动态操作2.倒序遍历3.遍历循环 步入正题:为何禁止在foreach内进行增删? 先看一下代码: /**         *  ...

  3. Java IO: 字符流的Buffered和Filter

    作者: Jakob Jenkov  译者: 李璟(jlee381344197@gmail.com) 本章节将简要介绍缓冲与过滤相关的reader和writer,主要涉及BufferedReader.B ...

  4. volatile与Synchronized

    摘自: https://blog.csdn.net/zxh476771756/article/details/78685581 一.JVM内存模型: JVM将内存组织为主内存和工作内存两个部分. 主内 ...

  5. LeetCode Day 12

    LeetCode0024 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表. 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换. 示例: 给定 1->2->3-> ...

  6. 3DSMAX安装失败,如何卸载修复重新安装3dmax 2017?

    一些同学安装3dmax出错了,也有时候想重新安装3dmax的时候会出现这种本电脑已安装3dmax,你要是不留意直接安装,只会按装3dmax的附件,3dmax是不会按装上的.这种原因呢就是大家在之前卸载 ...

  7. CSAPC08台湾邀请赛_T1_skyline

    题目链接:CSAPC08台湾邀请赛_T1_skyline 题目描述 一座山的山稜线由许多片段的45度斜坡构成,每一个片段不是上坡就是下坡. / /​ * / ​/ * /  // ​/ // / 在我 ...

  8. oppo互联网招聘-各类软件测试

    一.服务端测试专家 关键词:安全测试.白盒测试.性能测试.自动化.持续集成.服务端 岗位职责: 主导多个高日活产品的测试方案: 试点和推广自动化和持续集成: 改善测试相关流程和规范. 职位要求: 计算 ...

  9. swift中的闭包总结

    闭包是功能性自包含模块,可以在代码中被传递和使用. Swift 中的闭包与 Objective-C中的 blocks 以及其他一些编程语言中的 lambdas 比较相似. 闭包的基本语法 闭包表达式语 ...

  10. 推荐系统--隐语义模型LFM

    主要介绍 隐语义模型 LFM(latent factor model). 隐语义模型最早在文本挖掘领域被提出,用于找到文本的隐含语义,相关名词有 LSI.pLSA.LDA 等.在推荐领域,隐语义模型也 ...