独立性レベル 2 と 3 は多くのロックを使用するため、これらのレベルを常用するデータベースでは、精密な設計が特に重要です。直列化可能なトランザクションを利用する必要がある場合、データベース、特にインデックスに関しては、プロジェクトのビジネス・ルールを念頭において設計することが重要です。大きなトランザクションを小さく分割すると、ローがロックされる時間も短縮し、パフォーマンスが向上します。
直列化可能なトランザクションは、他のトランザクションをブロックする可能性が最も大きくなりますが、必ずしも効率が低下するわけではありません。これらのトランザクションを処理する場合、SQL Anywhere では、ロック数が増加してもパフォーマンスは向上するという最適化を実行できます。たとえば、探索条件と一致するかどうかに関係なく、すべてのローには読み込みロックがかけられるので、データベース・サーバはローの読み込みとロックの設定オペレーションを自由に実行することができます。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |