2013-07-07 47 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可能會最好。儘管它需要大量的代碼更改。 –