【问题标题】:Fetch jpa sql execution plan with @QueryHint and spring data repository使用 @QueryHint 和 spring 数据存储库获取 jpa sql 执行计划
【发布时间】:2019-11-29 13:45:04
【问题描述】:

我正在使用 spring-data 进行数据库交互。我想查看存储库中编写的查询的 jpa sql 执行计划。我该怎么做。

https://vladmihalcea.com/execution-plan-oracle-hibernate-query-hints/ 讲述使用 GATHER_PLAN_STATISTICS 和 COMMENT 查询提示。我添加了 COMMENT 提示,但不知道如何添加其他提示。

public interface StudentRepository extends JpaRepository<Student, Long>{
   @QueryHints({
       @QueryHint(name=org.hibernate.annotation.queryHints.COMMENT, 
        value="SQL_PLAN_STUDENT")
   })
   List<Student>findByStudentIDIn(List<Long> ids);
}

【问题讨论】:

    标签: oracle spring-data-jpa sql-execution-plan query-hints


    【解决方案1】:

    @QueryHints 注释接受数组构造函数,例如 @QueryHint 项目列表。

    因此,您可以通过将多个QueryHints 添加到逗号分隔列表中来添加它们。例如:

       @QueryHints({
                @QueryHint(name=org.hibernate.annotations.QueryHints.COMMENT, value="SQL_PLAN_STUDENT"),
                @QueryHint(name="GATHER_PLAN_STATISTICS" , value="GATHER_PLAN_STATISTICS")
        })
    

    很遗憾,我无法访问正在运行的 oracle dbms 实例,因此无法检查给定提示的结果。

    【讨论】:

      猜你喜欢
      • 2017-01-17
      • 1970-01-01
      • 2017-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-10
      • 2020-10-16
      • 2010-10-05
      相关资源
      最近更新 更多