100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > MySql存储过程调试

MySql存储过程调试

时间:2023-02-04 23:59:32

相关推荐

MySql存储过程调试

如何加log?如何判断当前卡在那个小分片sql语句上了?发现卡壳,如何杀掉语句

1、如何加log?

答:第一种在控制台,用于显示,比如sql1 和sql2之前想加打印日志。可以用SELECT “内容1”,“内容2”;打印格式为我们表格形式,每一个逗号之间都为表格的一个字段。

例子:

SELECT 'sql' AS '业务流程', FROM_UNIXTIME(tmp_stamp) AS '开始时间', FROM_UNIXTIME(tmp_stamp + 3600) AS '结束时间', ROW_COUNT() AS '影响记录行数';

第二种落地到表里,用于可追溯,定义好自己要落表的字段,可以书写一个log函数。最常见的,用于记录存储过程有没有执行完毕,可在开始插一条,在结束语句插一条。此法只是落地可追溯。

2、如何判断当前卡在那个小分片sql语句上了?

答: 通过执行日志。但最直观的是用show processlist\G;语句。上面有当前执行的sql和等待时间。当然为了看到sql全貌,和不同session所以的sql,建议使用show full processlist\G;

3、发现卡壳,如何杀掉语句

答:通过show full processlist\G查询到sql的id。使用kill + id进行杀死,注意,一般杀死SELECT语句,针对插入更新操作,中途杀掉可能导致数据不完整的脏数据。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。