我想了解两个查询的性能。一个页面显示每页18条记录。它在两个不同的应用程序中以两种方式实现,但使用相同的表和联接。
当在SQL查询探查器中比较他们的查询时,
-
第一个查询获取所有1到18条记录并显示。它正在读取120万条记录。
-
第二个查询一次获取6条记录并显示,在浏览器上显示18条记录。它读取的是少于25万条记录。
在两个查询中使用几乎相同的联接。
- 是否可以在批量查询中显示每页18条记录的分页?如果是,如何实施
- 除了探查器之外,还有其他方法可以查找SQL执行中读取的记录数吗
您可以使用OFFSET和FETCH进行分页。参见
https://www.sqlshack.com/pagination-in-sql-server/
如果您有查询,您可以在SSMS中运行它来获取执行计划。将有估计的和实际的行计数信息。
https://www.sqlshack.com/execution-plans-in-sql-server/