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