小编Tom*_*lek的帖子

如何有效地实现分页?

我有一个数据库查询,它可能会导致一个很大的结果集。显示数据的客户端通过网络接收数据,因此我们的想法是通过仅从数据库中检索前 50 个结果并将它们发送到客户端来最小化传输的数据量。然后我将提供一种可能性,跳转到第二页以检索接下来的 50 个结果等(类似于 google 提供的内容)

问题是实现分页的有效方法是什么。我想确保 mssql 尽可能多地使用缓存,并且每次更改分页时都不会再次执行相同的缓存。

同时查询数据库的客户端较多。使用的sql引擎:MS SQL 2005

我的想法是:

  • 使用准备好的sql语句保证执行计划共享
  • 使用 ROW_COUNT 变量只检索需要的行

但这真的是最有效的方法吗?或者您认为检索整个结果集并在将数据发送到客户端的代码中实现分页会更好吗?

谢谢你的提示!

问候, 托马斯

performance sql-server-2005

9
推荐指数
1
解决办法
612
查看次数

标签 统计

performance ×1

sql-server-2005 ×1