问题:

用网上找的开启慢查询日志的方法:

在/etc/my.cnf中添加

long_query_time=1
slow_query_log
log_queries_not_using_indexes=1

然后再重启mysql。

慢查询日志确实开起来了,用select sleep(0.5),select sleep(1)来测试long_query_time的设置是生效的。但是在实际使用中在慢查询日志文件中出现了很多查询时间在小于1s的记录。

原因:

一、在mysql5.6英文手册的“5.2.5 The Slow Query Log”中说慢查询记录的条件:

  1. The query must either not be an administrative statement, or          log_slow_admin_statements          must be enabled.

  2. The query must have taken at least          long_query_time seconds, or          log_queries_not_using_indexes          must be enabled and the query used no indexes for row lookups.

  3. The query must have examined at least          min_examined_row_limit rows.

  4. The query must not be suppressed according to the          log_throttle_queries_not_using_indexes          setting.

粗略地翻译下:

  1. 查询必询不是管理语句,或者开启了log_slow_admin_statements

  2. 查询的时间至少是long_query_time的秒数,或者查询没有使用索引并且开启了log_queries_not_using_indexes

  3. 查询至少检索了min_examined_row_limit 的行数.

  4. 查询必要不会根据log_throttle_queries_not_using_indexes  的设置而被抑制。

二、在mysql5.5 中文参考手册可以找到log-queries-not-using-indexes的说明:
如果你结合--log-slow-queries使用该选项,未使用索引的查询也被记录到慢查询日志中。

通过上面的资料就可以知道,因为开启了log_queries_not_using_indexes造成后,未使用索引的查询是否被记录和slow_query_time的设置无关

解决办法一:

修改/etc/my.cnf

log_queries_not_using_indexes=0

然后重启服务器。

解决办法二:

在mysql 查询中执行

set global log_queries_not_using_indexes=0;

参考:

mysql5.5中文参考手册

mysql5.6参考手册

http://www.percona.com/forums/questions-discussions/mysql-and-percona-server/24075-long_query_time-not-working

转载于:https://blog.51cto.com/soarwilldo/1567702

mysql 5.6 设置long_query_time的值无效的原因相关推荐

  1. mysql的text的默认值,mysql给text设置一个默认值(干货)

    这周有个需求里面原先是用redis的,但是后面经同事介绍说明,决定还是用mysql,当时想在表里面加一个text字段,但是考虑到程序其他地方会不会有对该表的插入操作,所以不经思索的就说给text字段加 ...

  2. GridView xml中设置android:focusable=false无效的原因

    最近Tv项目中有个小问题,需要gridview展示内容,但是不可获取焦点,于是xml中设置android:focusable="false",设想会成功,但是实际操作,发现还是可以 ...

  3. MySQL默认字符集设置

    查看各版本默认字符集 在MySQL 8.0版本之前,默认字符集为latin1 ,utf8字符集指向的是utf8mb3 .网站开发人员在数据库设计的时候往往会将编码修改为utf8字符集.如果遗忘修改默认 ...

  4. jpa mysql timestamp_Java JPA设置默认值、Timestamp设置、自动获取时间

    设置默认值 @Column(name="state",columnDefinition="tinyint default 0") private Integer ...

  5. 在mysql中怎样设置值唯一_mysql怎么设置行值唯一?

    mysql可通过给行(字段)添加唯一性约束来设置行值唯一,语法格式"CREATE TABLE 表名 (字段名 数据类型 UNIQUE);"和"ALTER TABLE 表名 ...

  6. c mysql 的默认值_为mysql表字段设置默认值的方法及注意细节

    为mysql表字段设置默认值的方法及注意细节,有需要的朋友可以参考下. 环境:MySQL 5.1 + 命令行工具 问题:MySQL表字段设置默认值 解决方法: 代码如下: --SQL: CREATE ...

  7. MySQL数据库建表时对于某个字段设置了默认值,但是使用Spring Data Jpa的save后默认值没有生效

    问题描述:MySQL数据库建表时对于某个字段设置了默认值,但是使用Spring Data Jpa的save后默认值没有生效.MySQL数据库中构建的用户表表结构如下所示: DROP TABLE IF ...

  8. mysql查看指定全局变量_【全局变量】mysql查看全局变量以及设置全局变量的值...

    1.查看mysql的所有全局变量的值 SHOW GLOBAL VARIABLES 或者 SHOW VARIABLES mysql有很多全局变量,包括系统的一些基本信息,以及mysql的一些基本配置都可 ...

  9. mysql字段设置中文默认值

    mysql字段设置中文默认值 (1064 - You have an error in your SQL syntax; check the manual that corresponds to yo ...

最新文章

  1. IT巨头混战平板市场三大系统争霸格局初现
  2. 终于把单点登录完整流程图画明白了!史上最完整的CAS单点登录完整图解!
  3. 【Python基础】安利3个Python数据分析EDA神器!
  4. caffe-fast-rcnn(Caffe、FSRCNN、FastRCNN)
  5. subsequence 1(牛客多校第五场记忆化搜索+组合数学)
  6. Chap2-构造函数语意学
  7. http网站转换成https网站
  8. 王道 —— 进程同步、进程互斥
  9. 经典公司小型局域网服务器架设方案
  10. 微信小程序豆瓣电影项目的改造过程经验分享
  11. Prewitt和Sobel算子
  12. 第1章.绪论(计算机科学导论)
  13. C#游戏实例:弹砖块游戏
  14. C++——TCP和UDP头部结构(下)
  15. boot bios傻傻分不清
  16. iphone主屏幕动态壁纸_iPhoneXLivePhoto动态壁纸
  17. java批量打印标签_java批量打印
  18. 阿里云智能文字转语音源码
  19. AG9311/AG9310 Type-C转HDMI设计方案|替代AG9310/AG9311芯片|GSV2201可完全替代兼容AG9310/AG9311
  20. ThinkSNS+在研发过程中,如何做到 Laravel 配置可以网站后台...

热门文章

  1. 错误:docker-ce-cli conflicts with 2:docker-1.13.1-103.git7f2769b.el7.centos.x86_64 错误:docker-ce confli
  2. java内存分配模型优点_高并发实战(二)-并发基础 缓存 MESI 内存模型
  3. prim求最短路径C语言,[图论]Prim算法求最小支撑树和最短路径
  4. JAVA语言中流程控制(顺序结构、判断语句、循环语句)
  5. ElasticSearch快速入门(一)介绍
  6. HDFS SnapShot原理
  7. JAVA面试题(1~95)《上》
  8. 最优化学习笔记(十二)——基本共轭方向算法(续)
  9. 产品经理面试全流程深度复盘【面试准备篇】
  10. 订单结算中最佳优惠券组合推荐策略分析