Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » Ultra Light データベース管理とリファレンス » Ultra Light データベースのリファレンス » Ultra Light 接続パラメータ

 

Ultra Light COMMIT_FLUSH 接続パラメータ

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

    • CHECKPOINT 文。チェックポイント・メソッドのない API では、この SQL 文を使用する必要があります。
    • Ultra Light Embedded SQL 用の ULCheckpoint 関数。
    • C++ コンポーネントの接続オブジェクトの Checkpoint メソッド。

参照