在数据库应用开发中,分页查询是一个常见需求。MSSQL提供了多种分页实现方式,合理选择分页策略能显著提升查询性能。
这是最常用的分页方法,通过ROW_NUMBER()函数为结果集生成行号:
SELECT * FROM (
SELECT ROW_NUMBER() OVER(ORDER BY CreateTime DESC) AS RowNum,
* FROM Products
) AS T
WHERE RowNum BETWEEN 11 AND 20
SQL Server 2012引入的新语法,更简洁直观:
SELECT * FROM Products ORDER BY CreateTime DESC OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY
选择合适的分页方式需要结合实际业务场景和数据量大小,在开发过程中应该进行性能测试,选择最优方案。