1 つのトランザクションの中の異なる部分に、別々の独立性レベルを設定したい場合、SQL Anywhere では、使用しているデータベースの独立性レベルをトランザクション中に変更できます。
トランザクション中に isolation_level オプションを変更すると、新しい設定は次の項目だけに反映されます。
変更後に表示されたカーソル
変更後に実行された文
トランザクションの途中で独立性レベルを変更し、トランザクションが実施するロック数を制御する必要がある場合があります。トランザクションで大きなテーブルを読み込む必要があるが、詳細な作業をするのは一部のローだけという場合もあります。矛盾が生じてもトランザクションには重大な影響を及ぼさない場合は、その大きなテーブルをスキャンする間は独立性レベルを低レベルに設定し、他の処理が遅れないようにしてください。
たとえば、1 つのテーブルまたはテーブルグループだけがシリアルアクセスを要求している場合などは、トランザクション中に独立性レベルを変更できます。
トランザクション中に独立性レベルを変更する例については、チュートリアル:幻ローの知識を参照してください。
テーブルヒントを使用して独立性レベルを設定することもできますが (レベル 0 ~ -3 のみ)、これは高度な機能であるため必要な場合にのみ使用してください。詳細については、FROM 句の WITH テーブルヒントに関する項を参照してください。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |