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

下載UniDAC最新版本

成都創(chuàng)新互聯(lián)公司主要從事網(wǎng)站制作、做網(wǎng)站、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)雙遼,十余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792

Universal Data Access Components (UniDAC)是一款通用數(shù)據(jù)庫訪問組件,提供了多個數(shù)據(jù)庫的直接訪問,如針對Windows的Delphi, C++Builder, Lazarus (以及 Free Pascal) , Mac OS X, iOS, Android, Linux和64和32位的FreeBSD等等。我們將長期的經(jīng)驗集于這個小組件,提供統(tǒng)一的數(shù)據(jù)庫連接訪問(如oracle、微軟SQL等等)。這意味著您可以在您的項目之間輕松地切換不同的數(shù)據(jù)庫,以及創(chuàng)建跨數(shù)據(jù)庫應(yīng)用程序接口。

本主題考慮使用數(shù)據(jù)集的基本階段以及提高每個階段性能的方法。

連接

如果應(yīng)用程序經(jīng)常執(zhí)行連接/斷開連接操作,則可以使用池模式(TCustomDAConnection.Pooling = True)獲得額外的性能。它大大減少了連接重新打開時間(數(shù)百次)。這種情況通常發(fā)生在Web應(yīng)用程序中。

執(zhí)行

如果應(yīng)用程序多次執(zhí)行同一查詢,則可以使用TCustomDADataSet.Prepare方法或設(shè)置TDADataSetOptions.AutoPrepare屬性以提高性能。例如,它可以為Master/Detail 關(guān)系中的細節(jié)數(shù)據(jù)集或TDAUPDATESQL中的更新對象啟用。通過這種方式獲得的性能增益可以是百分之幾到幾倍,具體取決于具體情況。

要執(zhí)行SQL語句,TUniSQL組件比TUniQuery更可取。它可以增加幾個百分點的性能增益。

如果TCustomDADataSet.Options.StrictUpdate選項設(shè)置為False,則不計算RowAffected屬性,該屬性將變?yōu)榈扔诹?。這可以提高查詢執(zhí)行的性能,因此,如果您需要一次執(zhí)行許多數(shù)據(jù)更新語句,并且不介意受影響的行數(shù),請將此選項設(shè)置為False。

導航

當數(shù)據(jù)集在關(guān)鍵字段字段上進行本地排序時,Locate函數(shù)的工作速度更快??梢允褂胕ndexFieldNames屬性設(shè)置本地數(shù)據(jù)集排序。如果數(shù)據(jù)集包含大量行,則性能增益可能很大。

當查找數(shù)據(jù)集在本地按查找鍵排序時,查找字段的工作速度更快。

在計算字段和查找字段上進行本地排序和定位時,設(shè)置TDadatasetOptions.CacheCalcFields屬性可以提高性能。當計算字段表達式包含復雜的計算時,它也很有用。

設(shè)置TDADataSetOptions.LocalMasterDetail選項可以通過避免詳細刷新時的服務(wù)器請求來大大提高性能。設(shè)置TDADataSetOptions.DetailDelay選項對于避免頻繁切換主數(shù)據(jù)集記錄時刷新詳細信息非常有用。

更新

如果應(yīng)用程序以CachedUpdates模式更新數(shù)據(jù)集,則將TCustomDADataSet.Options.UpdateBatchSize選項設(shè)置為1以上可以通過減少對服務(wù)器的請求數(shù)來提高性能幾百倍。

通過使用Dataset.UpdateObject.ModifyObject、Dataset.UpdateObject等,您還可以稍微提高數(shù)據(jù)發(fā)送性能(幾個百分點)。通過設(shè)置這些對象的AutoPrepare屬性,可以獲得很少的額外性能改進。

本文題目:UniDAC使用教程(九):提高性能
分享地址:http://bm7419.com/article10/jcscgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、手機網(wǎng)站建設(shè)、ChatGPT、建站公司、Google、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)