翻譯|使用教程|編輯:李爽夏|2019-02-15 09:21:11.000|閱讀 649 次
概述:本篇文章介紹了UniDAC使用數據集的基本階段以及提高每個階段性能的方法。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Universal Data Access Components (UniDAC)是一款通用數據庫訪問組件,提供了多個數據庫的直接訪問,如針對Windows的Delphi, C++Builder, Lazarus (以及 Free Pascal) , Mac OS X, iOS, Android, Linux和64和32位的FreeBSD等等。我們將長期的經驗集于這個小組件,提供統一的數據庫連接訪問(如oracle、微軟SQL等等)。這意味著您可以在您的項目之間輕松地切換不同的數據庫,以及創建跨數據庫應用程序接口。
本主題考慮使用數據集的基本階段以及提高每個階段性能的方法。
如果應用程序經常執行連接/斷開連接操作,則可以使用池模式(TCustomDAConnection.Pooling = True)獲得額外的性能。它大大減少了連接重新打開時間(數百次)。這種情況通常發生在Web應用程序中。
如果應用程序多次執行同一查詢,則可以使用TCustomDADataSet.Prepare方法或設置TDADataSetOptions.AutoPrepare屬性以提高性能。例如,它可以為Master/Detail 關系中的細節數據集或TDAUPDATESQL中的更新對象啟用。通過這種方式獲得的性能增益可以是百分之幾到幾倍,具體取決于具體情況。
要執行SQL語句,TUniSQL組件比TUniQuery更可取。它可以增加幾個百分點的性能增益。
如果TCustomDADataSet.Options.StrictUpdate選項設置為False,則不計算RowAffected屬性,該屬性將變為等于零。這可以提高查詢執行的性能,因此,如果您需要一次執行許多數據更新語句,并且不介意受影響的行數,請將此選項設置為False。
當數據集在關鍵字段字段上進行本地排序時,Locate函數的工作速度更快。可以使用indexFieldNames屬性設置本地數據集排序。如果數據集包含大量行,則性能增益可能很大。
當查找數據集在本地按查找鍵排序時,查找字段的工作速度更快。
在計算字段和查找字段上進行本地排序和定位時,設置TDadatasetOptions.CacheCalcFields屬性可以提高性能。當計算字段表達式包含復雜的計算時,它也很有用。
設置TDADataSetOptions.LocalMasterDetail選項可以通過避免詳細刷新時的服務器請求來大大提高性能。設置TDADataSetOptions.DetailDelay選項對于避免頻繁切換主數據集記錄時刷新詳細信息非常有用。
如果應用程序以CachedUpdates模式更新數據集,則將TCustomDADataSet.Options.UpdateBatchSize選項設置為1以上可以通過減少對服務器的請求數來提高性能幾百倍。
通過使用Dataset.UpdateObject.ModifyObject、Dataset.UpdateObject等,您還可以稍微提高數據發送性能(幾個百分點)。通過設置這些對象的AutoPrepare屬性,可以獲得很少的額外性能改進。
購買UniDAC正版授權,請點擊“”喲!
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn