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

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » データベース・パフォーマンスのモニタリングと改善 » データベース・パフォーマンスの改善 » パフォーマンス向上のためのヒント

 

同時実行性の問題点の確認

データベース・サーバがトランザクションを処理するとき、テーブル・ローを 1 つまたは複数ロックできます。ロックは他のトランザクションが同時にアクセスすることを防止し、データベースに格納されている情報の信頼性を維持します。また、更新中の情報を識別して、結果クエリの精度を高めます。

データベース・サーバは自動的にこれらのロックを設定するので、明示的な指示は必要ありません。データベース・サーバは、トランザクションが獲得したすべてのロックを、そのトランザクションが完了するまで保持します。ローにアクセスしているトランザクションは、ロックを保持しているといえます。ロックの種類により、他のトランザクションのそのローへのアクセスは限定されるか、まったくできなくなります。

頻繁に 1 つまたは複数のローに複数のユーザが同時にアクセスすると、パフォーマンスは低下することがあります。ロックが問題になっていると考えられる場合は、sa_locks プロシージャを使用して、データベースのロックに関する情報を入手できます。sa_locks システム・プロシージャを参照してください。

ロック状態が検出されると、関連する接続プロセス情報を AppInfo 接続プロパティを使って表示できます。接続プロパティを参照してください。