如何查看sql执行sql语句
接下来依次看这两个方面的句子总结的使用。
1.性能词典
mysql & gt调用sys . PS _ setup _ enable _ consumer(' statements ');
+ - +
|摘要|
+ - +
|启用了4个消费者|
+ - +
65438+集合中的0行(0.00秒)
查询正常,0行受影响(0.00秒)
打开后,多次执行前面的SQL。
之后就方便从sys库中分析这类语句的执行情况了,包括执行次数、执行时间、扫描的记录数、锁定时间、是否使用排序等等。
2.查询重写插件
比如防止通过字段r1删除表p1,可以使用查询重写插件直接在MySQL语句分析层进行转换,然后需要使用汇总函数statement_digest_text。
假设表p1的字段id值都是正的。
从p1中删除,其中id = 1000;
把它改写成,
从p1中删除,其中id =-1;
使用函数statement_digest_text定制该SQL的重写规则。
mysql & gt插入到query _ rewrite . rewrite _ rules(pattern,replacement,pattern _ database)-& gt;值(-& gt;statement_digest_text('从p1中删除,其中id = 1000 '),-& gt;statement _ digest _ text(' delete from p 1,其中id = -1 '),-& gt;ytt '-& gt;);查询正常,1行受影响(0.01秒)
查询重写语句的影响:
mysql & gt从p1中删除,其中id = 20000查询正常,0行受影响,1警告(0.00秒)
mysql & gt显示警告\ G * * * * * * * * * * * * * * * * * * * * * * * * * * 1。行*************************级别:注释代码:1105消息:查询“从p1删除,其中id = 20000”被查询重写插件重写为“从` p1删除,其中` id` = - 20000 ”,在set (0.00 sec)mysql中的行1 & gt;从p1中选择count(*);+-+| count(*)|+-+| 9000001 |+-+1集合中的行(1.59秒)
摘要
MySQL 8.0中新增的语句汇总功能可以轻松分析SQL语句执行的方方面面,比之前分析类似场景简单很多。