Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
コミットされたトランザクションが、コミット呼び出しの後にいつ記憶領域にフラッシュされるかを規定します。Ultra Light アプリケーションからコミットが呼び出されないと、フラッシュされません。
COMMIT_FLUSH={ immediate | grouped | on_checkpoint }
immediate
この接続パラメータは、ハードウェア障害またはクラッシュの後に、どのトランザクションをリカバリするかを定義します。論理オートコミット操作を単一のリカバリポイントとしてグループ化できます。
これらの操作をグループ化することで、Ultra Light のパフォーマンスを向上させることができますが、データのリカバリ性が低下します。トランザクションがコミットされた後であっても、トランザクションが記憶領域にフラッシュされる前にハードウェア障害またはクラッシュが発生すると、トランザクションが失われる可能性がわずかながらあります。
次のパラメータがサポートされます。
immediate コミットされたトランザクションは、コミット操作が完了する前でも、コミット呼び出しが実行されるとすぐに記憶領域にフラッシュされます。
grouped コミットされたトランザクションは、設定したスレッショルドに達している場合にかぎり、コミット呼び出しがあった時点で記憶領域にフラッシュされます。トランザクションカウントスレッショルドを commit_flush_count データベースオプションを使用して設定するか、時間ベースのスレッショルドを commit_flush_timeout データベースオプションを使用して設定できます。
設定された場合、commit_flush_count オプションと commit_flush_timeout オプションはどちらもコミットフラッシュのトリガとして動作し、先にスレッショルドに達した方がフラッシュをトリガします。フラッシュが実行されると、Ultra Light によってカウンタとタイマーはどちらも 0 に戻されます。その後、カウンタとタイマーのどちらか一方が再度スレッショルドに達するまで、両方がモニタリングされます。
on_checkpoint コミットされたトランザクションは、チェックポイント操作の時点で記憶領域にフラッシュされます。次のいずれかを使用してチェックポイントを実行できます。