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

SQL Anywhere 12.0.1 » Ultra Light データベース管理とリファレンス » Ultra Light のパフォーマンスに関するヒント » 挿入と更新のパフォーマンスのヒント » トランザクションとローのステータスの管理

 

Ultra Light データベースのローのステータス管理

ローのステータス情報の管理は、Ultra Light データベースの強力な機能の 1 つです。テーブルとローのステータスの追跡は、データ同期時に特に重要です。

注意

Ultra Light Java Edition では、ローのステータス管理はサポートされていません。Ultra Light Java Edition データベースは、トランザクションログを使用して、同期が必要な変更を追跡します。

Ultra Light データベースのローのステータスを記録するために、内部マーカーが使用されます。ローのステータスは、トランザクション処理、リカバリ、同期を制御します。アプリケーションがローを挿入、更新、または削除すると、Ultra Light はその操作内容、およびその操作を実行した接続を反映するようにローのステータスを変更します。トランザクションがコミットされると、トランザクションに関係のあるすべてのローのステータスに、コミットの内容が反映されます。コミット中に予期せぬ障害が発生すると、トランザクション全体がロールバックされます。次のリストは、その動作をまとめたものです。

  • 削除が実行された場合   対象の各ローのステータスが、削除されたことを反映して変更されます。ロールバックによって削除が実行されない場合は、ローの元のステータスがリストアされます。

  • 削除がコミットされた場合   対象のローがメモリから削除されない場合もあります。一度も同期が行われていないローは削除されます。同期が実行されたローは削除されません。削除操作を行うには、まず統合データベースと同期させる必要があるからです。次の同期が実行された後、ローはメモリから削除されます。

  • ローが更新された場合   ローの新しいバージョンが作成されます。古いローと新しいローのステータスが変更され、古いローは表示されなくなり、新しいローが表示されます。

  • ローの更新がコミットされた場合   トランザクションがコミットされると、トランザクションに関係のあるすべてのローのステータスに、コミットの内容が反映されます。更新が同期されると、ローの古いバージョンと新しいバージョンの両方で競合が検出され、解決が行われます。その後、古いローがデータベースから削除され、新しいローが通常のローになります。

  • ローが追加された場合   ローがデータベースに追加され、コミット未実行のマークが付きます。

  • 追加されたローがコミットされた場合   ローにコミット済みのマークが付き、統合データベースとの同期が必要であると通知されます。

 参照