sql 2008中的大型表的高效分页

前端之家收集整理的这篇文章主要介绍了sql 2008中的大型表的高效分页前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
对于具有> 1,000,000行,可能还有更多!

没有做任何基准自己,所以想得到专家的意见.

看了一些关于row_number()的文章,但似乎有性能影响

什么是其他选择/替代品?

解决方法@H_301_10@
我们使用row_number()效果很好,并没有出现任何性能问题.我们的分页查询的基本结构如下所示:
WITH result_set AS (
  SELECT
    ROW_NUMBER() OVER (ORDER BY <ordering>) AS [row_number],x,y,z
  FROM
    table
  WHERE
    <search-clauses>
) SELECT
  *
FROM
  result_set
WHERE
  [row_number] BETWEEN a AND b

对于具有>的表,我们可以正常工作1,000行.

猜你在找的MsSQL相关文章