CDaoWorkspace::Idle
更新 : 2007 年 11 月
大量のデータ処理のため実行されないことのあるバックグラウンド タスクを、データベース エンジンで実行できるようにします。
static void PASCAL Idle(
int nAction = dbFreeLocks
);
パラメータ
- nAction
アイドル処理中に行う動作。現在有効な動作は dbFreeLocks のみです。
解説
これは、現在のレコードセットのすべてのレコードを保持するほど十分なバックグラウンド処理時間のないマルチユーザー、マルチタスクの環境ではよく使用されます。
メモ : |
---|
Microsoft Jet データベース エンジン Version 3.0 で作成したデータベースでは、Idle を呼び出す必要がありません。Idle は旧バージョンで作成されたデータベースでのみ使用します。 |
通常、ほかのアクション (マウスの移動を含む) が発生していない場合に限り、読み込みロックが解除され、ローカルなダイナセット タイプのレコードセット オブジェクトのデータが更新されます。周期的に Idle を呼び出すと、データベース エンジンは不必要な読み込みロックを解放することで、未処理のバックグラウンド タスクを実行できます。引数に dbFreeLocks 定数を指定すると、すべての読み込みロックが解放されるまで処理は遅延されます。
アプリケーションの複数のインスタンスが実行されない限り、このメンバ関数はシングル ユーザー環境では必要ありません。Idle メンバ関数は、メモリのロックを解放することによって、データベース エンジンがデータをディスクにフラッシュするように強制するため、マルチユーザー環境では、パフォーマンスを向上させます。操作をトランザクションの一部に設定して、読み込みロックを解除することもできます。
関連情報については、DAO ヘルプの「Idle Method」を参照してください。
必要条件
ヘッダー : afxdao.h