|
このセクションでは 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 オブジェクトを検索しないようにします。
|