SQL执行状态疑惑


同样的SQL,第一个是程序执行的,很慢,第二个是用navicat执行的,30秒左右,state有什么区别吗

到慢日志里看下两个sql的执行计划

还没结束

程序里的这段代码是个显示事务吗

意思是有没有开启begin 是吗

我在navicat里开启begin
image

也很快

第二次执行能快有可能是缓存起作用了
https://docs.pingcap.com/zh/tidb/stable/coprocessor-cache#下推计算结果缓存

不是第二次快,是程序里执行很慢,我用navicat执行很快, 就state列有差别

不同的2次结果执行计划能贴一下吗?

稍等啊, 慢的那个SQL还没结束

我的猜测是,程序里的事务没有显示结束。。。

cursor, 怎么会有游标啊

大佬们,这个问题怎么解啊

查一下程序和网络呗

网络没问题,程序要查什么啊

程序执行的SQL与用navicat执行的SQL, 就 in transaction; cursor exists 这里不一样,有影响 吗

sql一样吗?盲猜是不是navicat带了limit

SQL是一样的,navicat没有带limit

你第一次慢是程序有并发的,偶尔有慢点的