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

SQL Anywhere 12.0.1 » SQL Anywhere サーバー SQL の使用法 » トランザクションと独立性レベル » 独立性レベルと一貫性 » ODBC 実行可能アプリケーションでの独立性レベル

 

トランザクション内の独立性レベルの変更

1 つのトランザクションの中の異なる部分に、別々の独立性レベルを設定したい場合、SQL Anywhere では、使用しているデータベースの独立性レベルをトランザクション中に変更できます。

トランザクション中に isolation_level オプションを変更すると、新しい設定は次の項目だけに反映されます。

  • 変更後に表示されたカーソル

  • 変更後に実行された文

トランザクションの途中で独立性レベルを変更し、トランザクションが実施するロック数を制御する必要がある場合があります。トランザクションで大きなテーブルを読み込む必要があるが、詳細な作業をするのは一部のローだけという場合もあります。矛盾が生じてもトランザクションには重大な影響を及ぼさない場合は、その大きなテーブルをスキャンする間は独立性レベルを低レベルに設定し、他の処理が遅れないようにしてください。

たとえば、1 つのテーブルまたはテーブルグループだけがシリアルアクセスを要求している場合などは、トランザクション中に独立性レベルを変更できます。

トランザクション中に独立性レベルを変更する例については、チュートリアル:幻ローの知識を参照してください。

注意

テーブルヒントを使用して独立性レベルを設定することもできますが (レベル 0 ~ -3 のみ)、これは高度な機能であるため必要な場合にのみ使用してください。詳細については、FROM 句の WITH テーブルヒントに関する項を参照してください。

 スナップショットアイソレーションを使用している場合の独立性レベルの変更