【问题标题】:RAD Studio ADO Data Set slow loading dataRAD Studio ADO 数据集加载数据缓慢
【发布时间】:2013-07-07 19:41:21
【问题描述】:

我有一个用 RAD studio c++ 编写的 Windows 应用程序。该应用程序使用 ADO 连接和 ADO 数据集。通过本地网络加载数据集的数据已经足够快了,但是一旦用户通过互联网连接,加载 ado 数据集的速度就会非常慢。数据库是SQL Server 2012 express,特定表(客户)有 9 000 条记录(8 列),用SELECT * FROM Customers 调用。

我用ADODataSet->Active = true;打开数据源。

我可以对数据集进行任何设置以加快速度吗?激活数据源时还有其他建议提高速度吗?

【问题讨论】:

  • 虽然我对 ADO 或 RAD Studios ADO 类一无所知,但从单个表中提取 9000 条记录应该很快,除非每条记录都包含大量大 BLOB。使事情变得更快的常用方法是本地缓存。
  • 我考虑过本地缓存,但它需要分配代码,因为数据每天都在变化。您认为缓存本地表的最佳方法是什么?

标签: c++ dataset ado c++builder


【解决方案1】:

您将在 Internet 上推送一堆字节:9,000 条记录,例如,每条 220 字节是不小的数据量 - 几兆字节。 ADO.NET 是一个相当有效的协议,所以除非你想改变你的架构,我能给的最好的建议是:

  1. 除非您需要所有列,否则不要使用SELECT *
  2. 确保您没有通过具有低数据包的路由器 碎片限制。
  3. 您可以对查询进行分页,以便填充 UI 的可见部分 快速:这不会减少查询时间(事实上,它会 增加一点),但它会减少主观时间 用户(因为他不只是盯着空白屏幕)
  4. 您可以使用“延迟加载”技术:仅返回显示在选择网格(或树,或其他)中的行。在必须显示详细信息之前不要下载完整记录,然后在获得它们后缓存它们。

【讨论】:

  • 谢谢,如果我能更快地得到它,4 号可能效果最好。虽然这需要大量的代码更改。
猜你喜欢
  • 1970-01-01
  • 2012-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-16
  • 2013-06-26
相关资源
最近更新 更多