暂无图片
某库夜里发生了锁超时,开发需要定位相关的sql语句,mysql中如下处理这种case?
我来答
分享
暂无图片 匿名用户
某库夜里发生了锁超时,开发需要定位相关的sql语句,mysql中如下处理这种case?

某库夜里发生了锁超时,开发需要定位相关的sql语句,mysql中如下处理这种case?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
张sir

1、编写脚本定时获取processlist、innodb_trx、innodb_lock的内容。

2、查看问题时段的慢日志。

暂无图片 评论
暂无图片 有用 0
打赏 0
chengang

获取超时的历史语句比较简单!

1、开启performance_schema的events_statements开关

UPDATE performance_schema.setup_consumers
SET ENABLED = ‘YES’
WHERE NAME LIKE ‘events_statements%’;

2、查看历史语句

select * from PERFORMANCE_SCHEMA.events_statements_history_long
timer_wait > 你的innodb_lock_wait_timeout值 or message_text like ‘%Lock wait timeout exceeded%’

注意的是你要把 innodb_lock_wait_timeout换算成皮秒。

暂无图片 评论
暂无图片 有用 1
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
mysql中一个表有140W条数据,单表查询根据时间字段过滤查询,全表查询花了5.3S,根据时间索引花了12s?
回答 4
因为你是读整个表的数据,走索引当然更慢了
MySQl如何执行联接查询?
回答 1
已采纳
MySQL认为每一个查询都是联接不仅是匹配两张表中对应行的查询,而是每一个查询、每一个片段(包括子查询,甚至基于单表的SELECT)都是联接。因此,理解MySQL如何执行UNION查询至关重要。对于U
在CENTOS7 装过MYSQL5.735? 老是说我的ROOT临时密码过 期!我没有重启服务器和服务,如何解决?
回答 1
已采纳
修改你的参数文件,使用skipgranttables参数跳过检查,然后重启登录则不需密码,重置root密码后,注释掉参数文件里的skipgranttables重启数据库,则可以按照你之前的方式加新密码
如果想让优化器首先访问T2,之后在关联T1。 可以通过下面哪种写法?
回答 1
已采纳
选BCD:Bselect/JOINORDER(t2,t1)/t1.namefromt2JOINt1ont1.idt2.id;Cselectt1.namefromt2STRAIGHTJOINt1ont1
binlog的日志到头问题?
回答 1
MySQLbinlog文件名通常使用六位数字表示序号,最大值为999999。当binlog达到最大序号时,MySQL不会挂掉,而是会循环回000001,覆盖旧的binlog文件,继续写入新的事件。例如
mysql中字段格式为 decimal(12, 3)数据导入到sql server的 decimal(12, 3)中报错:数值超出范围
回答 1
试试改SQLSERVER的(15,3).因为mysql那段你改不了。
mysql8.0 insert 速度比 mysql5.7 insert速度慢 。有优化建议吗?
回答 3
已采纳
mysql8.0对内存大小是有要求的,设置太小了发挥不出其威力,反而会比mysql5.7慢。尝试调大innodbbufferpool,或者尝试增加并行insert的线程数。
mysql5.7中如何使用hint,指定驱动表和非驱动表?
回答 3
mysql>explain>selectfromorderinfo>straightjoinuserinfo>onuserinfo.idorderinfo.userid;
xtrbackup在备份从库的时候,如果这个时候有业务写入,将导致主从复制延迟,这个问题有法解决没?
回答 3
专门配置一台从库来备份数据
数据库缓冲池和查询缓存是一个东西么?数据库缓冲池有什么作用
回答 1
已采纳
缓冲池和查询缓存不是一个东西。作用1:将数据预先放到内存中,提升访问效率。InnoDB存储引擎在处理客户端的请求时,当需要访问某个页的数据时,就会把完整的页的数据全部加载到内存中,也就是说即使我们只需