JetSetTableSequential 関数
適用対象: Windows |Windows Server
JetSetTableSequential 関数
JetSetTableSequential 関数は、アプリケーションが特定のカーソルを含む現在のインデックス全体をスキャンしていることをデータベース エンジンに通知します。 そのため、インデックス データへのアクセスに使用されるメソッドは、このシナリオをできるだけ速くするために調整されます。
Windows XP:JetSetTableSequential は Windows XP で導入されています。
JET_ERR JET_API JetSetTableSequential(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__in JET_GRBIT grbit
);
パラメーター
sesid
この呼び出しに使用するセッション。
tableid
この呼び出しに使用するカーソル。
grbit
次のオプションの 0 個以上を指定するビットのグループ。
値 |
説明 |
---|---|
JET_bitPrereadForward |
このオプションは、前方方向のインデックスを作成するために使用されます。 Windows 7:JET_bitPrereadForward は Windows 7 で導入されています。 |
JET_bitPrereadBackward |
このオプションは、逆方向のインデックスを作成するために使用されます。 Windows 7:JET_bitPrereadBackward は Windows 7 で導入されています。 |
戻り値
この関数は、次のいずれかのリターン コードを使用して 、JET_ERR データ型を返します。 考えられる ESE エラーの詳細については、「 拡張可能ストレージ エンジン エラー 」および「 エラー処理パラメーター」を参照してください。
リターン コード |
説明 |
---|---|
JET_errClientRequestToStopJetService |
JetStopService の呼び出しの結果として、セッションに関連付けられているインスタンス上のすべてのアクティビティが静止しているため、操作を完了できません。 |
JET_errInstanceUnavailable |
セッションに関連付けられているインスタンスで致命的なエラーが発生したため、操作を完了できません。このエラーでは、そのデータの整合性を保護するためにすべてのデータへのアクセスを取り消す必要があります。 Windows XP: この戻り値は Windows XP で導入されています。 |
JET_errNotInitialized |
セッションに関連付けられているインスタンスがまだ初期化されていないため、操作を完了できません。 |
JET_errRestoreInProgress |
セッションに関連付けられているインスタンスで復元操作が進行中のため、操作を完了できません。 |
JET_errTermInProgress |
セッションに関連付けられているインスタンスがシャットダウンされているため、操作を完了できません。 |
この関数が成功すると、カーソルの現在のインデックスは、インデックス全体のシーケンシャル スキャン用に最適化されます。 データベースの状態は変更されません。
この関数が失敗した場合、カーソルの構成は変更されません。 データベースの状態は変更されません。
注釈
アプリケーションがインデックスの既知のサブセットを効率的にスキャンする必要がある場合は、 JetSetIndexRange を使用してインデックス範囲が確立されるたびに、同様の最適化も実行されます。 この最適化は、Windows XP 以降のリリースでのみ使用できます。
アプリケーションでインデックスの不明なサブセットを効率的にスキャンする必要がある場合は、アクションを実行する必要はありません。 エンジンはスキャン動作を自動的に検出でき、事前にデータをフェッチします。 ただし、この動作は攻撃的ではありません。
この最適化により、プライマリ インデックスのスキャンが効率的になり、セカンダリ インデックス内のインデックス エントリ データのみを効率的にスキャンできるようになります。 レコード データの取得中にセカンダリ インデックスをスキャンすることは効率的ではありません。 これは、エンジンがレコード データに対して先行読み取りを実行しないためです。
要件
要件 | 値 |
---|---|
Client |
Windows Vista または Windows XP が必要です。 |
[サーバー] |
Windows Server 2008 または Windows Server 2003 が必要です。 |
Header |
Esent.h で宣言されています。 |
Library |
ESENT.lib を使用します。 |
[DLL] |
ESENT.dllが必要です。 |
参照
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetSetIndexRange
JetStopService