如何查看 jOOQ 执行的 SQL 语句?

Posted

技术标签:

【中文标题】如何查看 jOOQ 执行的 SQL 语句?【英文标题】:How can one see the SQL statements that jOOQ executes? 【发布时间】:2012-06-17 01:54:59 【问题描述】:

我使用 jOOQ 从表中查询/插入/更新数据。

有没有办法查看 JOOQ 执行的 SQL 语句?

【问题讨论】:

How can we profile JOOQ statements for speed的可能重复 【参考方案1】:

查找您的日志配置文件(或创建一个)并将org.jooq.tools.LoggerListener 类的日志级别设置为debugtrace,例如进入log4j.properties

在春季,您可以通过这种方式将日志级别 DEBUG 设置到您的 application.properties 中

logging.level.org.jooq.tools.LoggerListener=DEBUG

对于以下查询

create.select(BOOK.ID, BOOK.TITLE).from(BOOK).orderBy(BOOK.ID).limit(1, 2).fetch();

你应该得到一个类似的日志

Executing query          : select "BOOK"."ID", "BOOK"."TITLE" from "BOOK" order by "BOOK"."ID" asc limit ? offset ?
-> with bind values      : select "BOOK"."ID", "BOOK"."TITLE" from "BOOK" order by "BOOK"."ID" asc limit 2 offset 1

【讨论】:

【参考方案2】:

jOOQ 博客上有一篇博客文章描述了如何调试日志生成的 SQL:

https://blog.jooq.org/debug-logging-sql-with-jooq/

注意,这里的 Stack Overflow 问题也处理了这个问题:

How can we profile JOOQ statements for speed

【讨论】:

以上是关于如何查看 jOOQ 执行的 SQL 语句?的主要内容,如果未能解决你的问题,请参考以下文章

如何查看Oracle中sql语句的执行时间

如何查看mysql中执行sql语句

如何查看mysql执行过的语句

如何查看SQL Server2000执行过的SQL语句

如何查看mysql执行的所有以往 sql 语句历史命令

如何查看SqlServer查询语句的执行效率