UniDAC使用教程(九):提升性能

下載UniDAC最新版本數據庫

Universal Data Access Components (UniDAC)是一款通用數據庫訪問組件,提供了多個數據庫的直接訪問,如針對Windows的Delphi, C++Builder, Lazarus (以及 Free Pascal) , Mac OS X, iOS, Android, Linux和64和32位的FreeBSD等等。咱們將長期的經驗集於這個小組件,提供統一的數據庫鏈接訪問(如oracle、微軟SQL等等)。這意味着您能夠在您的項目之間輕鬆地切換不一樣的數據庫,以及建立跨數據庫應用程序接口。服務器

本主題考慮使用數據集的基本階段以及提升每一個階段性能的方法。oracle

鏈接

若是應用程序常常執行鏈接/斷開鏈接操做,則可使用池模式(TCustomDAConnection.Pooling = True)得到額外的性能。它大大減小了鏈接從新打開時間(數百次)。這種狀況一般發生在Web應用程序中。函數

執行

若是應用程序屢次執行同一查詢,則可使用TCustomDADataSet.Prepare方法或設置TDADataSetOptions.AutoPrepare屬性以提升性能。例如,它能夠爲Master/Detail 關係中的細節數據集或TDAUPDATESQL中的更新對象啓用。經過這種方式得到的性能增益能夠是百分之幾到幾倍,具體取決於具體狀況。性能

要執行SQL語句,TUniSQL組件比TUniQuery更可取。它能夠增長几個百分點的性能增益。ui

若是TCustomDADataSet.Options.StrictUpdate選項設置爲False,則不計算RowAffected屬性,該屬性將變爲等於零。這能夠提升查詢執行的性能,所以,若是您須要一次執行許多數據更新語句,而且不介意受影響的行數,請將此選項設置爲False。spa

導航

當數據集在關鍵字段字段上進行本地排序時,Locate函數的工做速度更快。可使用indexFieldNames屬性設置本地數據集排序。若是數據集包含大量行,則性能增益可能很大。對象

當查找數據集在本地按查找鍵排序時,查找字段的工做速度更快。排序

在計算字段和查找字段上進行本地排序和定位時,設置TDadatasetOptions.CacheCalcFields屬性能夠提升性能。當計算字段表達式包含複雜的計算時,它也頗有用。接口

設置TDADataSetOptions.LocalMasterDetail選項能夠經過避免詳細刷新時的服務器請求來大大提升性能。設置TDADataSetOptions.DetailDelay選項對於避免頻繁切換主數據集記錄時刷新詳細信息很是有用。

更新

若是應用程序以CachedUpdates模式更新數據集,則將TCustomDADataSet.Options.UpdateBatchSize選項設置爲1以上能夠經過減小對服務器的請求數來提升性能幾百倍。

經過使用Dataset.UpdateObject.ModifyObject、Dataset.UpdateObject等,您還能夠稍微提升數據發送性能(幾個百分點)。經過設置這些對象的AutoPrepare屬性,能夠得到不多的額外性能改進。

相關文章
相關標籤/搜索