SQL/JPQL/JPA的最快子查询方法
正如您在这个问题中所看到的,有一种方法用于带有条件API的子查询:SQL/JPQL/JPA的最快子查询方法,sql,jpa,criteria,jpql,Sql,Jpa,Criteria,Jpql,正如您在这个问题中所看到的,有一种方法用于带有条件API的子查询: SELECT e FROM Employee e WHERE e IN (SELECT emp FROM Project p JOIN p.employees emp WHERE p.name = :project) 但是,像这样简单地查询如何: SELECT e FROM Employee e WHERE e.project.name = :project 哪一个更快?为什么
SELECT e
FROM Employee e
WHERE e IN (SELECT emp
FROM Project p JOIN p.employees emp
WHERE p.name = :project)
但是,像这样简单地查询如何:
SELECT e
FROM Employee e
WHERE e.project.name = :project
哪一个更快?为什么?您必须进行测量,但我不认为第二个会比第一个慢,因为它基本上与第一个的子查询相同。当简单的东西做同样的事情时,为什么要使用复杂的东西呢?因为我认为数据库可以缓存第二部分的结果,而对于第二个查询,这是不可能的,或者可能也是!!!依赖于ORM行为