0

我开发了一个 3 层应用程序,但我遇到了关于从数据库填充数据的问题。我的应用程序有一个从数据库查询大数据的窗口,这个过程需要很长时间。(我的客户端离服务器很远,它之间的连接是 128 KB/s)。

然后我想到了解决这个问题的解决方案。解决方案是每 y 秒填充 x 条数据记录。(例如:首先填充 10 条记录以显示在 UI 上,然后每 5 秒显示更多 10 行)。

这是解决这个问题的好方法吗?有没有更好的方法来解决这个问题?

4

4 回答 4

2

如果是出于显示目的,您应该使用分页。这有一个变体,当用户尝试使用滚动条访问更多信息时,UI 会抓取下一个“页面”记录。如果您需要聚合数据,请在查询中进行,这样整个数据就不会通过网络传输。如果您真的/绝对必须获取整个数据并对其进行一些处理,请考虑它是否太大而无法一次加载。在这种情况下,抓取数据块,运行相关进程,然后抓取另一个块(依此类推)。无论如何,您需要使用不会阻塞 UI(线程/异步操作)的方法来完成。

于 2009-03-02T07:21:34.997 回答
1

Freddy 打败了我,但举个例子,你会注意到很多数据库查看器只填充视野中所需的数据,当你使用滚动条时,它会自动抓取下一页/数据视图。

如果您考虑网站,他们几乎总是会分页数据,以免一次全部加载。

于 2009-03-02T07:28:03.813 回答
0

是否可以选择进行延迟加载(因此您将按需加载数据,而不是一次全部加载)?

于 2009-03-02T06:53:51.290 回答
0

也许如果应用程序 UI 允许,在多个页面中显示记录。

我还建议使用异步调用来检索数据,这样您就不会在查询时冻结应用程序(如果是桌面应用程序)。

如果是 Web 应用,请考虑使用 AJAX。

于 2009-03-02T06:56:56.023 回答