我目前有一个客户端 - 服务器应用程序。客户端需要能够生成报告。这些报告可以有数百万条记录。将数据传送到客户端的最佳方法是什么?一次发送所有百万条记录效率不高。假设我只想一次显示20个并翻阅所有结果。每次用户点击下一页时,我都会让服务器执行查询吗?或者我应该让服务器获取整个结果集,然后将部分内容发送到客户端?
答案 0 :(得分:1)
使用光标 - 它非常适合这些用途。
注意 - 包含百万行的报告不是设计良好的报告。 Nobady可以处理它。但这是分析的问题。
答案 1 :(得分:0)
我在sql查询中使用Limit来设置获取的记录范围。但查询必须来自客户端,查询必须通过范围。
如果您使用Dotnet + npgsql连接器
,则取决于脚本虽然,我可能只是补充说,搜索一百万条记录Page_by_page并不是智慧。我希望有一些过滤器可以将搜索范围缩小到几页。因为研究表明超出第10页的观点呈指数下降。