2013-07-07 46 views
0

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

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

有,我可以对数据集来加快它设置的任何设置?任何其他建议来提高速度激活数据源时?

+0

虽然我不知道ADO或RAD Studios ADO类的任何内容,但只要来自单个表的9000条记录应该非常快,除非每条记录都包含很多大BLOB。使事情更快的常用方法是本地缓存。 –

+0

我已经考虑过本地缓存,但它会要求分配代码,因为数据每天都会改变。你认为什么是缓存本地表的最佳方法? –

回答

1

你会推一堆字节的整个看房::9000所记载的,比方说,220个字节的每个数据是一个不平凡的量 - 一对夫妇兆字节。 ADO.NET是一个相当有效的协议,所以除非你想改变你的架构,我能给的最好的建议是:

  1. ,除非你需要的所有列
  2. 确保你不要使用SELECT *不经过具有低分组 碎片限制的路由器。
  3. 您可以将网页查询,使用户界面的可见部分被填充 迅速:这不会减少查询时间(实际上,它会 增加它有点),但它会降低主观时间 用户(因为他不只是一个空白盯着屏幕)
  4. 您可以使用“延迟加载”技术:只返回被显示在选择网格(或树,或其他)的行。不要下载完整的记录,直到你必须显示细节,然后一旦你得到它们就缓存它们。
+0

谢谢,如果我可以更快地得到它,号码4可能会最好。尽管它需要大量的代码更改。 –