コミットされたトランザクションが、コミット呼び出しの後にいつ記憶領域にフラッシュされるかを規定します。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 コミットされたトランザクションは、チェックポイント操作の時点で記憶領域にフラッシュされます。次のいずれかを使用してチェックポイントを実行できます。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |