TADOQuery優化設定

2021-06-18 23:59:18 字數 2640 閱讀 4552

下面是使用ado時程式設計師應該知道的規則。只要程式設計師了解並且適當地使用

在應用系統中,那麼讓ado和adoexpress擁有良好的執行效率並不是困難的事

情:1)盡量找到真正的原生ado和oledb驅動程式。盡量不要使用adofor

odbc驅動程式,因為這種架構使用在一些資料庫時會發生不正常的執行狀況,也

比原生ado和oledb驅動程式來得慢一些。

2)ado驅動程式的品質大大地影響了應用系統的執行效率,因此,你應該為

你的資料庫找乙個良好的ado驅動程式。

3)盡量使用客戶端的cursorlocation,並且只訪問應用程式真正需要的資料到

客戶端,使用少量、多次的方式訪問資料。使用少量、多次的方式訪問資料不管是

對於主從架構或分布式多層應用系統都是很好的方式。特別是對於internet/intranet

和電子商務應用系統來說,使用這種方式可以確保應用系統能夠在許多使用者同時使

用的狀況下仍然保有合理的執行速度。

4)適當設定cachesize屬性值。這是乙個絕對不可忽略的設定,它的重要性僅

次於cursorlocation。雖然在前面討論的內容中我們可以發現設定cachesize接近

1000左右可以得到最好的效率/空間比,但是必須考慮當應用系統同時被許多使用者

同時訪問時,在一瞬間網路會傳遞的資料量有多大。因此你可能必須根據你的應

用系統的執行狀況來適當地減少cachesize為100~1000之間的數值。

5)許多討論如何優化ado的檔案都會建議使用儲存過程,因為這些檔案都假

設你只會使用mssqlserver。但是不管使用什麼資料庫,如果可以的話,那麼對

於需要處理大量資料的工作,使用儲存過程絕對可以增加ado應用程式的執行效

率。因為在這種情形下,儲存過程可以讓這些大量的資料不傳遞到客戶端,而是

直接在資料庫中處理資料,這可以避免造成網路嚴重的負荷。即使你不想使用存

儲過程,因為你可能會使用不同的資料庫,對於一些經常會執行的工作,至少也

應該使用preparedado/adoexpress元件,這樣也可以增加應用程式的執行效率。

6)對於不會回傳結果資料集的工作,例如使用update、delete等修改大量資料

的工作,可以考慮結合儲存過程和ado的非同步執行模式。這樣可以大大增加ado

應用程式的執行效率以及減少ado應用程式的反應時間。

7)ado的recordset物件,或adoexpress的tadodataset、tadoquery和

tadotable元件雖然都可以使用select的sql命令訪問資料,並且讓使用者修改資料

再更新回資料來源中。但是,如果你正在開發的ado應用程式會執行大量的資料修

改的工作,那麼你應該使用數個不同的tadodataset、tadoquery和tadotable

元件。其中乙個用來選取使用者需要的資料,並且使用其他的tadodataset,

tadoquery和tadotable元件來執行update和delete等的sql命令,這樣可以增加

ado應用程式的執行效率。

8)本項和第7項有關,即當你使用ado開發分布式多層應用系統時,盡量設

定tdatasetprovider元件的resolvetodataset為true。讓ado本身來處理資料的修

改,而不要使用midas的sqlresolver,因為ado可以更好地處理資料修改的數

據。但是請注意,由於adoexpress目前有乙個臭蟲,因此在分布式多層應用系統

中不要使用tadodataset、tadoquery和tadotable元件來執行update和delete

等的sql命令。請直接使用執行selectsql命令的tadodataset、tadoquery和

tadotable元件來執行修改資料的工作。

9)盡量使用optimistic和batchoptimistic這兩種型別的locktype,因為它們不

但會降低系統鎖定的資源,也可以增加ado應用程式的執行效率。

10)ado的batchupdatej膠虰de/idapi的cacheupdate非常類似,不管是

用在主從架構或internet/intranet及電子商務應用系統中都可以增加ado應用程式

的執行效率。因此程式設計師應該盡量使用這種模式來開發ado應用程式。

11)tadodataset、tadoquery和tadotable元件的marshaloptions控制了客

戶端修改的資料如何傳遞歸oledbprovider或資料來源進行更新的工作。在分布式

多層應用系統和internet/intranet及電子商務應用系統中我們絕對不希望傳遞任何多

餘的資料,以避免浪費網路資源。因此適當地設定marshaloptions屬性值為

momarshalmodifiedonly也可以增加應用系統的執行效率。

12.對於和圖形使用者介面有關的ado應用程式,例如,如果需要在tdbgrid組

件中顯示大量的資料,那麼不要忘記我們早已熟知的技巧,暫時關閉資料感知組

件和ado訪問元件之間的關係,等待資料訪問的工作完成之後再啟動連線,那麼

將可以大大增加圖形使用者介面響應使用者的效率。這就是說,當應用程式要結合大

量資料訪問和圖形使用者介面時,不要忘記呼叫disablecontrols和enablecontrols這

兩個方法。

TADOQuery優化設定

下面是使用ado時程式設計師應該知道的規則。只要程式設計師了解並且適當地使用 在應用系統中,那麼讓ado和adoexpress擁有良好的執行效率並不是困難的事 情 1 盡量找到真正的原生ado和oledb驅動程式。盡量不要使用adofor odbc驅動程式,因為這種架構使用在一些資料庫時會發生不正常...

delphi學習筆記 TADOQuery

delphi 資料庫查詢 tadoquery 在乙個程式中你會多次查詢資料庫的,因此在你寫的查詢方法中定義乙個區域性的adoquery就可以了,它返回乙個資料集 recordset。最簡單的應用如下 function getdata recordset 獲取一張表中的全部資料 recordset是一...

eclipse優化設定

1.滑鼠放在 上出提示 2 在右邊的basic下選擇text font進行編輯即可。4.匯出配置 方法一 直接儲存乙個已經配置好但沒建專案的空workspace 推薦 配置就儲存在workspace中,把乙個已配置好但沒建工程的空workspace儲存起來 如壓縮乙個副本 以後不要新建workspa...