OLE DB Provider Guide (v11)

OLE DB のパフォーマンスに関する考慮点

このセクションでは OLE DB に関するパフォーマンスの問題について述べます。

キャッシュ エンジン

Pervasive PSQL のキャッシュ エンジンは、クライアント/サーバー環境で使用すると OLE DB プロバイダーのパフォーマンスに影響します。環境に応じて必要であれば Pervasive PSQL Control Center でキャッシュ エンジンを無効にすることができます。これについて最も影響があるのは静的カーソルです。

最高パフォーマンスのナビゲーショナル

サーバー側のナビゲーショナル レコードセットはコマンド ベースのレコード セットに比べ、特定の値を含むレコードへの位置付けが頻繁に要求されるタスクでは、パフォーマンスの上で非常に有利です。

静的カーソルと動的カーソル

リレーショナル エンジンがテンポラリ テーブルを作成しなかった場合、静的カーソルが常にこれを作成します(テンポラリ テーブルの詳細については『SQL Engine Reference』を参照してください)。これは、コマンド ベースおよびナビゲーショナル テーブル共にそうなります。帯域幅に配慮する必要がない場合は、常にテンポラリ テーブルを作成することのない動的カーソルがより高いパフォーマンスを生みます。ただし、帯域幅が低い場合には、往復のコストが高すぎて動的カーソルを受け入れ難いため、その解決策として RDS を使用するとよい場合があります。RDS の欠点は、Microsoft がこれをコマンド ベースのみの解決策として実装したことです。つまり、インデックス機能(Seek の使用)ができません。RDS ベースとローカル レコードセットで同様に機能する抽象レイヤーを実装することにより、デプロイメントに関係なくパフォーマンスを維持することができます。この抽象の性質はアプリケーションの必要性によって異なり、ランタイム ビジネス オブジェクトの形を取ることがよくあります。

未使用のサービスを使用不可にする

OLE DB アプリケーションを開発する際、パフォーマンスを向上させる方法として、使用されていない OLE DB サービスをオフにすることがあります。詳細については、DBPROP_INIT_OLEDBSERVICES のドキュメントを参照してください。

Automatic Transaction Enlistment をオフにすると、セッションの ITransactionJoin インターフェイスのインスタンスを作成せず、プロバイダーが MTS オブジェクトを検索しないようにします。


OLE DB プロバイダーと Visual Studio.NET

OLE DB プロバイダーの制限