解释mysql查询而不更改上一个查询的行计数()

wecizke3  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(255)

在应用程序中,有时查询很慢,我会在事后“解释”它们(如果它们很慢)并记录它们,以便随着时间的推移改进应用程序。
但是,如果在之后运行“explain”,row\u count()将不再反映受原始查询影响的行数,这是我不希望看到的。有没有一种方法可以运行explain查询(或者任何查询),而不更改row\ U count()?
注意:我目前正在做的是打开一个单独的数据库链接,并解释如何使用该链接。这是可行的,但我无法以这种方式解释使用临时表的查询。我正在寻找一种不同的解决方案,它将保留row\u count()并使用临时表。

zpjtge22

zpjtge221#

重新排列代码。。。

SELECT ...
get ROW_COUNT ...
EXPLAIN SELECT ...

还要注意的是 EXPLAIN's “行”列是近似值;很难匹配 ROW_COUNT() .

sqyvllje

sqyvllje2#

捕获 row_count() 如果你以后需要的话。无论如何,您应该这样做,因为这个值的有效范围非常有限。
该值绑定到特定的连接,并在执行每个查询时重置。。。以及 EXPLAIN ... 是一个查询。
没有办法改变这种行为。

相关问题