Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用jpaTemplate连接查询速度非常慢_Java_Mysql_Hibernate_Jpa_Inner Join - Fatal编程技术网

Java 使用jpaTemplate连接查询速度非常慢

Java 使用jpaTemplate连接查询速度非常慢,java,mysql,hibernate,jpa,inner-join,Java,Mysql,Hibernate,Jpa,Inner Join,我有一个如下的查询: Query q = entityManager.createQuery("SELECT a FROM ObjectA a JOIN a.objectB b JOIN b.objectC c WHERE a.col1 = :val1 ORDER BY c.val1 ASC", ObjectA.class); q.setParameter("val1", "my val"); q.setFirstResult(startIndex).setMaxResults(maxNumRe

我有一个如下的查询:

Query q = entityManager.createQuery("SELECT a FROM ObjectA a JOIN a.objectB b JOIN b.objectC c WHERE a.col1 = :val1 ORDER BY c.val1 ASC", ObjectA.class);
q.setParameter("val1", "my val");
q.setFirstResult(startIndex).setMaxResults(maxNumRecords);
return q.getResultList();
这个查询比我预期的要长得多。
有没有关于如何加快速度的想法?编写此文件的其他方法?

检查a.col1和c.val1上是否有索引

是否尝试过对此进行解释计划。执行此操作时,请确保使用变量,这可能会影响数据库使用正确索引的能力。我们在c.val1上有索引,但在a.col1上没有。将索引添加到a.col1会有很大帮助吗?我怀疑这可能会很慢,因为对象的水合作用,但我不知道如何只查询某些列。@abcXYZ是的,的确,无论何时使用WHERE、ORDER BY等,都绝对需要索引。