计算SQL Query执行所需的时间以及将行转换为mybatis中的java对象

时间:2018-02-20 19:28:21

标签: mysql profiling mybatis spring-mybatis

我在mybatis中有一个sql查询,它输出大约35000条记录。我想计算查询执行所花费的时间,然后分别将这些输出行转换为java对象。此查询花费将近3秒。但是当查询直接在mysql工作台中执行时,它只需要0.003秒。

1 个答案:

答案 0 :(得分:0)

仅使用mybatis日志记录或类似的东西,你不能轻易做到这一点。

问题是查询执行的这两个阶段没有明确分开。转换从数据库检索的数据的某些部分发生在JDBC驱动程序本身中,而某些部分则在mybatis映射器中完成。 还有花时间将数据从数据库发送到您的程序(确保在工作台中运行查询时考虑到这一点)。

您最好的选择是使用分析器并可能在循环中运行查询,然后检查分析器在哪里花费时间。