JetComputeStats 関数
適用対象: Windows |Windows Server
JetComputeStats 関数
JetComputeStats 関数は、テーブルの各インデックスをウォークして、インデックス内のエントリの数とインデックス内の個別のキーの数を正確に計算します。 この情報は、インデックスに割り当てられたデータベース ページの数と計算の現在の時刻と共に、データベースのインデックス メタデータに格納されます。 このデータは、後で情報操作を使用して取得できます。
JET_ERR JET_API JetComputeStats(
__in JET_SESID sesid,
__in JET_TABLEID tableid
);
パラメーター
sesid
この呼び出しに使用するセッション。
tableid
この呼び出しに使用されるカーソル。 統計を計算するテーブルについて説明します。
戻り値
この関数は、次のいずれかの戻りコードを 使用して、JET_ERR データ型を返します。 考えられる ESE エラーの詳細については、「 拡張ストレージ エンジン エラー と エラー処理パラメーター」を参照してください。
リターン コード |
説明 |
---|---|
JET_errSuccess |
操作は正常に完了しました。 |
JET_errClientRequestToStopJetService |
JetStopService の呼び出しの結果、セッションに関連付けられたインスタンスのすべてのアクティビティが停止したため、操作を完了できません。 |
JET_errInstanceUnavailable |
セッションに関連付けられているインスタンスで、そのデータの整合性を保護するためにすべてのデータへのアクセスを取り消す必要がある致命的なエラーが発生したため、操作を完了できません。 このエラーは、Windows XP 以降のリリースでのみ返されます。 |
JET_errNotInitialized |
セッションに関連付けられているインスタンスがまだ初期化されていないため、操作を完了できません。 |
JET_errRestoreInProgress |
セッションに関連付けられているインスタンスで復元操作が進行中のため、操作を完了できません。 |
JET_errRollbackError |
この操作ですべての変更をロールバックする必要があるエラーが発生しましたが、トランザクションのロールバック自体は失敗しました。 |
JET_errSessionSharingViolation |
同じセッションを複数のスレッドに同時に使用することはできません。 このエラーは、Windows XP 以降のリリースでのみ返されます。 |
JET_errTermInProgress |
セッションに関連付けられているインスタンスがシャットダウンされているため、操作を完了できません。 |
成功すると、最新の統計は、指定されたカーソルで記述されたテーブルのデータベース カタログに格納されます。
障害が発生した場合、データベースに対してどのような種類の更新も行われません。
解説
テーブル内の各インデックス全体をウォークする必要があるため、この操作はリソースを消費する可能性があります。 JetGetRecordPosition を使用すると、インデックス内のエントリ数の大まかな見積もりを取得できますが、それ自体でインデックス内の個別の値の数を見積もることはできません。
この操作によって計算されたデータは古くなり始め、その後テーブルが更新されます。
JetComputeStats によって作成されたデータベースへの更新は、遅延形式で行われます。 つまり、この操作を伴うログフラッシュは発生せず、 JetComputeStats によってJET_errSuccessが返された後にシステムがクラッシュしても、これらの更新が失われる可能性があります。
必要条件
要件 | 値 |
---|---|
Client |
Windows Vista、Windows XP、または Windows 2000 Professional が必要です。 |
[サーバー] |
Windows Server 2008、Windows Server 2003、または Windows 2000 Server が必要です。 |
Header |
Esent.h で宣言されています。 |
Library |
ESENT.lib を使用します。 |
[DLL] |
ESENT.dllが必要です。 |
参照
JET_ERR
JET_TABLEID
JET_SESID
JetGetRecordPosition
JetGetTableInfo
JetGetTableIndexInfo
JetStopService