我正在使用MS SQL Server 2008和Hibernate.我的问题是Hibernate如何实现setMaxResults
采取以下简单方案.
如果我有一个返回100行的查询,如果我传递1 setMaxResults,这会影响SQL服务器本身的返回结果(就像运行select top 1语句一样)或者Hibernate是否首先获得所有结果(在这种情况下全部为100行)并挑选顶部的一个?
我要问的原因是当行数开始增长时会出现巨大的性能问题.
谢谢.
以下哪一项更好?
<c:set var="var1" value="false" scope="request"/>
<c:if test="${someCondition}">
<c:set var="var1" value="true" scope="request"/>
</c:if>
Run Code Online (Sandbox Code Playgroud)
或者以下
<c:choose>
<c:when test="${someCondition}">
<c:set var="var1" value="true" scope="request"/>
</c:when>
<c:otherwise>
<c:set var="var1" value="false" scope="request"/>
<c:otherwise>
</c:choose>
Run Code Online (Sandbox Code Playgroud) 在外连接上(在这种情况下让我们采用左外连接)如何在右侧表上添加过滤器?
SELECT s.id, i.name FROM Student s
LEFT OUTER JOIN Student_Instructor i
ON s.student_id=i.student_id
AND i.name='John'
Run Code Online (Sandbox Code Playgroud)
我理解如果过滤器在Student桌面上,它将更像是"首先获取名称= John的所有行并加入表格".
但是我不确定如果过滤器在右侧的表(Student_Instructor)上是否是这种情况.如何i.name='John'解释过滤器?
谢谢