【发布时间】:2010-12-06 15:13:38
【问题描述】:
我们有 10 个非规范化表,其中许多都包含大量数据(11,000,000)。客户端希望用户一次能够下载多达 100K 的记录。我想知道的是设计一个后台进程来处理这个问题。我正在考虑可能为每个表设置一个队列并让多个线程处理请求。我绝对不是设计多线程组件的专家。你们认为我在这里走对了吗?对实施有何建议?
谢谢!
【问题讨论】:
-
当您说“一次下载多达 100K 的记录”时,是要导出(或类似的东西,需要所有数据)?或者在屏幕上查看(您可以在其中进行分页并给出所有数据都在那里的错觉)?
-
队列会做什么?
-
正确,导出到 excel(或 csv)。用户将有一个 Web 界面,因此我需要将请求放入某种类型的队列中。队列将简单地存储报告类型和搜索参数。
-
是的,我们将在前端使用数据分页,但在 excel 中离线工作时需要整个集合。
-
@Marco - 只是为了澄清用例,用户在您的 asp.net 页面上发出请求 - 可能是一种方式 - 您将在服务器上处理请求,然后一旦处理,呈现用户带有指向服务器上具有 100K 记录的 xls / csv 文件的链接 (?),用户可以下载和查看?对吗?
标签: c# .net asp.net multithreading