我正在使用JPA和Hibernate作为提供者。我注意到“select top n”查询用于分页 - 为了获取记录990到1000,“select top 1000”查询被发送到数据库。第1行到第1000行的所有数据都转移到客户端吗? (数据库和应用程序服务器位于不同的物理服务器上)如何衡量数据库和应用程序服务器之间传输的数据量(以字节为单位)?
答案 0 :(得分:0)
SQL的转换取决于数据库方言。例如,使用Oracle,仅选择所请求的行。 Hibernate使用ResultSet.absolute()
(如果可能)直接转到第990行,因为它不能只选择10行。调试Loader.doQuery方法以检查Hibernate对数据库的作用。