このページは、以下の英語ページの抄訳です。最新の情報については、
英語ページを参照してください。
この記事のオリジナルは、Glenn Paulley が sybase.com に2011年7月に掲載したものです。Glenn はこの中で、異なる独立性レベルを使用する場合とデータベースのデータをアップデートする場合のトレードオフについて語っています。
===
ISO/ANSI SQL 独立性レベル 3(SERIALIZABLE)で実行されるアプリケーションはほとんどありません。実際のところ、SQL Anywhere のデフォルトの独立性レベルは0(READ UNCOMMITTED)で、JDBC アプリケーションに限り、デフォルトは READ COMMITTED となっています。
SQL Anywhere の READ UNCOMMITTED 独立性レベルでは、操作中にスキーマロックとローの書き込みロックのみがトランザクションによって取得され、ローの読み込みロックはまったく取得されません。
したがって、READ UNCOMMITTED では、書き込みトランザクションは読み込みトランザクションをブロックしません。
しかしその一方、SQL Anywhere は READ UNCOMMITTED 独立性レベルでのセマンティクスを保証していません。俗な言葉で言うなれば、支払っただけのものしか手に入らない、ということです。
多くのアプリケーションでは、コミットされていないローの危険性や影響は限られているため、時として、READ UNCOMMITTED の本当の意味が正しく理解されていない場合があります。
本稿では、その影響がよりはっきりとする例を示してみたいと思います。
===
(続きは、2011年に翔泳社 CodeZine に掲載された翻訳記事をご覧ください。)
===
SAP SQL Anywhere に関する詳細情報は、<英語> を参照してください。
上記のコミュニティーに掲載されている技術情報は、順次
SQL Anywhere 日本語コミュニティ
に掲載しています。
SQL Anywhere に関してはまずは
こちらをご参照ください。無期限でご利用いただける無償の Developers Edition もこちらからダウンロードが可能です。
SQL Anywhere に関して技術的な質問のある方はコミュニティに登録し、
「Ask a Question」機能をご利用ください。
Language には「Japanese」、
Primary Tag には「SAP SQL Anywhere」を選択
User Tagに「sql anywhere」「sql anywhere Japanese question」
を入力してください。
不具合につきましては、サポート契約者様専用の問い合わせ方法にてお問い合わせください。
======================
ご購入に関するお問い合わせ
こちらよりお問い合わせください。