【发布时间】:2011-06-22 18:22:24
【问题描述】:
我试图通过在我们的 mysql 数据库中进行常见的 EXPLAIN select (...) 来查看我们的数据库性能问题,但是我们的软件(用 JAVA 编写)使用的是 JPQL。我的意思是,所有查询都使用对象,我想完全按照 JPA 生成的查询重现 mysql 查询(可以这样做吗?我的意思是,它必须在某个时候转换为 sql)。
谁能解释我如何将这个 (JPQL) 翻译成 sql 查询?甚至,如果有什么方法可以直接在 JPA 中执行 EXPLAIN,请指出我,这样我就可以为这项任务制作一些 UT。
我知道有一种方法可以在运行 UT 时直接在控制台中显示查询,也许我可以尝试找出如何设置它,但我不确定它是否显示本机查询而不是 JPQL 查询。
只是为了明确我的目标:
- 使用 EXPLAIN 或类似的东西 指出性能问题或 数据库。
- 涉及的技术:JPA 和 MySql。
我想到的一些解决方案(如果可行,我希望你们指出):
- 了解如何将 JPQL 转换为 SQL 并使用旧的 EXPLAIN 方法。
- 了解如何在 JPA 中直接使用 EXPLAIN
- 跟踪 MySql 日志或控制台(运行我的 UT 时):(
谢谢, 弗拉维奥。
【问题讨论】:
-
您使用的是哪种 JPA 实现?
标签: mysql performance jpa