监控突然告警,内网流量每秒600M,检查可视化监控发现有个表 读流量特别大,怎么定位是哪个sql呢,慢sql里面没有,初步猜测是一个循环查询,sql执行不满,读取数据量比较大。
Dashboard → SQL语句分析 → 累计耗时/执行次数 倒序排列
查了,感觉这个cont(*)不可能有大量数据传输呀。而且也不是这个表,第二个sql关联查询只有2000次。感觉也不多
阿里云监控每秒从tikv传输到tidb将近600M
Dashboard → SQL语句分析 → 累计耗时/执行次数 倒序排列
[/quote]
把sql单独拿出来打印下
1、TRACE FORMAT=‘log’ select xxxx
2、explain format=‘verbose’ select xxx
估算下数据量是否对得上
按这个表名搜也搜不到么?这种一条线的,都是持续读取的。是不是有数据传输?
explain 这个没verbose这个参数,可能是4.0.9版本太低了
trace有,但是没看到什么有用的信息
mysql> explain format =‘verbose’ SELECT count(*) FROM om_pb_order WHERE ( PM_PARK_ID = ‘dc806273026f48dc8f5f52dafb22cd42’ );
ERROR 1791 (HY000): Unknown EXPLAIN format name: ‘verbose’
你说的是 在processlist进程里面搜索吗?这个看了。没有连接时间很长的sql,也没有相关的表信息。
不是,我说的是慢查询里。因为慢查询只记录执行完成的sql,可以扩大时间搜搜试试。
找到了,是我以为的不是那个sql的sql 一个做关联查询。下意识以为关联查询肯定有索引不可能会慢,专门看了一下。发现这个表是全表扫描。160w数据,给他加了一谓词的索引,直接就中断了,这个黄线就没了
谢谢各位大哥大姐
问题解决了就好。
PS:升级v8.1吧,真香~
现在是4.0.9 我也想升级。领导不让呀。怕出问题。我感觉最起码升级到7.1
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。