共用方式為


效能

本主題將協助您在使用資料提供者時最大化效能。

設定效能

若要改善效能,請使用下列方法設定提供者。

共用 OLE DB 資源來減少連接啟動時間。

OLE DB 資源共用和提供者連接共用可能會藉由減少連接啟動時間來提高效能。 資源共用是透過 Windows 作業系統之一部分的 OLE DB 服務元件來啟用。 您可以藉由設定 OLE DB 初始化屬性和登錄設定來啟用 OLE DB 資源共用。 如需詳細資訊,請參閱 OLE DB 資源分享 (https://go.microsoft.com/fwlink/?LinkID=180446) 。

共用提供者資源來減少連接啟動時間

連接共用是一種用戶端最佳化處理,該處理可縮短連接啟動時間,同時減少用戶端電腦上的記憶體使用量。 資料提供者支援連線共用。 您可以使用 OLE DB 資料來源初始化字串來指定集區, (Connection Pooling=True) 。 此外,您也可以使用 [資料來源精靈] 的 [ 進階 ] 對話方塊和資料連結的 [ 所有 ] 對話方塊來設定共用。

提供者會根據 [最大共用區大小] 屬性來維持連接的快取。 預設集區大小為 100 個連線, ([最大集區大小] =100 ) ,您可以使用 [資料來源精靈] 或 [資料連結] 的 [ 所有 ] 對話方塊來調整。 [最大共用區大小] 屬性沒有上限。 如果您為 [最大共用區大小] 屬性設定小於 0 的值,就會使用預設值 100。 您可以選擇性地指定秒數,以指示資料提供者等待使用用戶端共用建立連接。 當共用區中的所有連接都在使用中且逾時期間到期時,資料提供者會傳回錯誤訊息給資料取用者 (「無法使用連接」)。 預設值為 15 秒 (Connect Timeout=15 ) ,您可以使用 [資料來源精靈] 或 [資料連結] 的 [ 所有 ] 對話方塊來調整。 [連接逾時] 屬性沒有上限。 指定 -1 以指示資料提供者無限期地等待用戶端連接共用區中開放的連接。

在取得資料時最佳化資料列快取

RowsetCacheSize 屬性會指示資料提供者在處理及傳回資料列給資料取用者時,同時從 DB2 預先提取資料列。 此功能可改善多重處理器或多核心電腦上大量唯讀作業的效能。 此屬性的預設值為 0 (RowsetCacheSize=0 ) ,這表示選擇性預先擷取功能為 「off」。 建議您設定介於 10 到 100 之間的值,初始建議值為 10,您可以使用 [資料來源精靈] 或 [資料連結] 的 [ 所有 ] 對話方塊進行調整。 此屬性會指示資料提供者預先提取指定數目的資料列批次,這些批次會儲存在資料提供者的資料列集快取中。 系統會自動根據由取用者所指定的 OLE DB IRowset::GetNextRows 介面上針對 cRows 的值而決定資料列批次的大小。

延遲準備具有參數的命令,一直到執行為止。

[延遲準備] 會指示此資料提供者將參數化命令 INSERT、UPDATE、DELETE 和 SELECT 的處理最佳化。 您可以使用 ADO.NET 連接字串 或 OLE DB 資料來源初始化字串來指定此選項, (Defer Prepare=True ) 。 此外,您也可以使用 [資料來源精靈] 的 [ 進階 ] 對話方塊和資料連結的 [ 所有 ] 對話方塊來設定共用。 如果是 INSERT、UPDATE 和 DELETE 命令,此資料提供者將結合準備、執行和認可的命令於遠端資料庫的單一網路流程中。 如果是 SELECT 命令,此資料提供者將結合準備與執行的命令於單一網路流程中。 這樣會降低網路流量至最低,並定時改善整體效能。

從 DB2 陰影目錄擷取結構描述資訊

[陰影目錄] 屬性會指示資料提供者從 DB2 陰影目錄擷取結構描述資訊。 DB2 系統管理員可以定義陰影目錄,使其包含資料表、欄位、主索引鍵及索引的結構描述資訊。 所有資料取用者都會在設計階段使用此結構描述資訊。 部分資料取用者則在執行階段使用此資訊。 DB2 結構描述目錄可能會因寫入 (建立及變更陳述式執行) 期間的鎖定而變成無法存取。 此外,預設 DB2 結構描述也可能太大,造成設計階段及執行階段的資料取用者作業延遲。 陰影目錄可以在執行結構描述提取作業時減少爭用,進而改善效能。

傳送單一工作單位中的多個資料列

資料提供者支援 OLE DB IRowsetFastLoad 介面,讓取用者,例如 Integration Services,在優化批次中執行多個 INSERT 語句。 這樣會更有效率地使用 TCP/IP 網路封包,並提高整體效能。 您可以在使用 Business Intelligence Developer Studio 封裝設計工具設定 Integration Services 封裝內資料流程中的 OLE DB 目的地時,選取 RowsetFastLoad。 插入 DB2 時,支援 IRowsetFastLoad 介面。 如需詳細資訊,請參閱 Integration Services OLE DB 目的地自訂屬性 的存取模式 (https://go.microsoft.com/fwlink/?LinkId=241518) 。

命令逾時,長時間執行的查詢結束

此資料提供者會提供命令逾時屬性,讓您自動結束長時間執行而可能會對效能造成負面影響的查詢。 OLE DB 資料集 DBPROP_COMMANDTIMEOUT 的預設值為 0,這表示沒有逾時值。

您可以為多個取用者指定命令逾時值。 此資料提供者會提供 OLE DB 資料列集 DBPROP_COMMANDTIMEOUT 屬性,讓開發人員自動結束長時間執行而可能會對效能造成負面影響的查詢。 Integration Services 和 Analysis Services 會透過 Business Intelligence Development Studio 中的資料來源查詢逾時選項來公開這個屬性。 Reporting Services 會透過 Business Intelligence Development Studio 中的資料集屬性逾時選項來公開這個屬性。 複寫和查詢處理器會透過sp_serveroption逾 @optname=query 時來公開此屬性。

測量效能

為了測量效能,此資料提供者提供了效能計數器。 預設會關閉效能計數器。 您可以將下列登錄機碼的值變更為 1 來開啟效能計數器:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Host Integration Server\Data Integration\UpdateCounters = 1

資料提供者效能計數器會擷取有關開啟的連接、開啟的陳述式、傳送/接收的封包和位元組數、平均主機 (DB2 伺服器) 處理時間、命令執行、資料提取和交易認可/回復的資訊。 如需詳細資訊,請參閱 效能計數器 (https://go.microsoft.com/fwlink/?LinkID=119211) 。