为什么不记录慢查询?

标签: 记录 | 发表时间:2014-08-19 07:24 | 作者:linwaterbin
出处:http://blog.csdn.net
㈠ 背景介绍:
  
  2014/8/18 13点37分收到前端说反馈有玩家掉线情况,检查CPU、慢查询、DB请求量,并未发现异常,DB表现一如往常。


㈡ 定位原因:

INSERT INTO t (col1, col2, col3, col4, col5, col6, col7) VALUES ('3532082239485507011_130_99', '130_99', 130, 99, 3532082239485507011, 2172353000317425008, 29078) 

这个长事务执行 1个多小时没有退出,Kill 掉对应的进程,程序前端恢复正常


㈢ 处理思路:

  ⑴ 查询视图

select trx_id,trx_state,trx_started,trx_requested_lock_id,trx_weight,trx_mysql_thread_id from information_schema.innodb_trx where trx_state='RUNNING';

  ⑵ show engine innodb status\G; 关注Transactions部分提取SQL及事务信息
  

㈣ 我的疑问:


为什么这条执行了1个多小时的SQL没有被记录到慢查询日志中呢??


㈤ 原来如此:


Query_time - Lock_time > long_query_time  <===记录
Query_time - Lock_time < long_query_time  <===不记录


㈥ 模拟场景:


⑴ Query_time - Lock_time > long_query_time

Session_A:

mysql> begin;
Query OK, 0 rows affected (0.00 sec)

mysql> select emp_no,hire_date from employees where emp_no=10170 for update;
+--------+------------+
| emp_no | hire_date  |
+--------+------------+
|  10170 | 1986-01-02 |
+--------+------------+
1 row in set (0.00 sec)

Session_B:

mysql> select emp_no,hire_date,sleep(3) from employees where emp_no=10170 for update;


过段时间在A做commit,B会执行、并被记录到slow log中:

# Time: 140818 22:37:31
# User@Host: root[root] @ localhost []  Id:     1
# Query_time: 3.049016  Lock_time: 0.018891 Rows_sent: 1  Rows_examined: 1
use employees;
SET timestamp=1408372651;
select emp_no,hire_date,sleep(3) from employees where emp_no=10170 for update;




⑵ Query_time - Lock_time < long_query_time

Session_A:

mysql> begin;
Query OK, 0 rows affected (0.00 sec)

mysql> select emp_no,hire_date from employees where emp_no=10170 for update;
+--------+------------+
| emp_no | hire_date  |
+--------+------------+
|  10170 | 1986-01-02 |
+--------+------------+
1 row in set (0.00 sec)

Session_B:

mysql> select emp_no,hire_date from employees where emp_no=10170 for update;

过段时间在A做commit,B会执行、但不会被记录到slow log中


㈦ 我的收获:

我们日常做性能剖析实际上应该包括2个方面:

1)基于执行时间的分析

2)基于等待时间的分析


By water

Good Luck!


作者:linwaterbin 发表于2014-8-18 23:24:40 原文链接
阅读:81 评论:0 查看评论

相关 [记录] 推荐:

hadoop记录

- - 开源软件 - ITeye博客
MapReduce的特征 1. Map1结果与Map2结果重叠现象. (传统的分布式计算无法解决) 方案:Map2与Map2原封不动的把数据传到Reduce; 问题:结果Map啥事没干,Reduce最终累死, 分而治之成为了空谈. reduce任务工作过程: reduce是将map的输出作为reduce的输入,只要有一个map任务执行完就会有reduce任务开始执行.

A5版聊记录

- 章明 - SEM 一家之言
这是上周接受A5版聊的记录,感谢光年论坛网友 cx69 的整理. 由于很多人不逛论坛的,所以发到这个博客上. 我觉得这个访谈的内容对大家有帮助. 问:嘉宾你好,嘉宾的是科学的SEOer,首先问,什么样的SEO才是科学的?平时站长用的SEO方法都是不科学的吗?科学是相对什么而言的?. 嘉宾说,提出“科学的SEO”的说法,就是要来抵抗那种“猜谜语式的SEO”.

杭州归来 – interACT记录

- Millie - Plidezus&#39;sky
纪念拍了卖2.0在AppStore中得到推荐~ 没下的同学点此下载咯~. 和同事一起参加了淘宝技术嘉年华,其中interACT中百度MUX的同学分享都是干货,很是受用. 碎碎的记录了一些觉得重要的地方,在此整理下. 虽然举的是杭州出租车的例子,但是每个产品也是如此,用户能记住的都是那些让他们极度不爽的地方.

Sony LT26i 刷机记录

- - 依云's Blog
声明:本文以期有用的目的写作,不保证本文所述操作能够部分或者完全地满足他人的需求,也不保证其不会给他人造成损失. 按本文操作者,如对其生命财产造成任何损失请自理,在法律许可的范围内本人不承担责任. 注意:除 SD 卡数据外,其它数据均可能永久性丢失. 首先,开启手机的 USB 调试模式. Sony Xperia S 版 ROM,将其放到 SD 卡根目录: adb push cm-9.1.0-nozomi.zip /mnt/sdcard.

mysql记录耗时的sql

- - 数据库 - ITeye博客
mysql记录耗时的sql. mysql可以把耗时的sql或未使用索引的sql都记录在slow log里,供优化分析使用. 1.mysql慢查询日志启用:. mysql慢查询日志对于跟踪有问题的查询非常有用,可以分析出当前程序里有很耗费资源的sql语句,那如何打开mysql的慢查询日志记录呢. 这说明slow log功能没有启用,要启用需要修改mysql的配置文件,在配置文件"[mysqld]"里添加如下俩参数:.

Kettle运行日志记录

- - 开源软件 - ITeye博客
原创文章,转载请注明出处:http://qq85609655.iteye.com/blog/2173882. 在kettle.properties中,可以定义参数. 来全局设置,记录kettle的job和trans日志,. 记录日志,会进行锁表,在kettle作业非常多的情况下,容易造成表锁,以及队列等待job日志记录的情况严重影响效率.

springboot aop日志记录

- - 编程语言 - ITeye博客
一、POM增加AOP JAR包. 三、SysAspect类. 注:@annotation(cn.com.hfai.controller.system.Logweb) 一定要指定Logweb类. 四、在Controller类的方法之上加上注解 @Logweb 即可. 注:这个只是打印在控制台上,若想放到数据库中,则需要增加操作数据库的业务代码.

记录用户体验细节

- 競 - rank&#39;s technical notes
突然有个想法,想把原来我发现的,看到的,听到的一些好的用户体验列出来,这些经验对于做终端的开发,都是值得我们学习的. 现在能想到的几条,以后想起来慢慢加上来. windows虽然IE做得不怎么样,但你可知道触发拖动事件不是mousedown开始就叫拖拽(DragDrop),而是有两个条件,一个是mousedown后1秒,或者鼠标移动3px后再开始触发拖动的么.

钱云会案证人调查记录

- 貓 - 王克勤

Momento:记录我们自己的生活

- sylvia - 爱范儿 · Beats of Bits
玉置浩二有一首歌叫《活在当下》,闲来无事总喜欢听听,提醒自己不论在怎样现实中都要珍惜自己走过的每一天. 然而我们一直忙于把自己生活的方方面面分享给别人看,有时甚至忘记了自己. 在这个越来越社交化的网络中,我们在微博上分享自己的喃喃自语,在 Foursquare 上分享我们的点点足迹,在 Flickr 上分享我们记录的光影瞬间.