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 の使用法 » パフォーマンスの向上、診断、モニタリング » パフォーマンス向上のヒント

 

インデックスの有効な使用

通常、SQL Anywhere はインデックスを使用して探索条件を評価できます。インデックスを使用することで、オプティマイザーはデータへのアクセスをスピードアップし、ベーステーブルから読み込んで処理する情報量を減らします。たとえば、クエリに WHERE column-name=value という探索条件があり、カラムにインデックスが存在する場合、インデックススキャンを使って、探索条件を満たすテーブルのローだけを読み込むことができます。テーブルをジョインする場合にインデックスがあれば、パフォーマンスを大幅に向上させることもできます。

クエリを実行するとき、SQL Anywhere は各テーブルへのアクセス方法を選択します。データベースサーバーが適切なインデックスを見つけられないときは、テーブルを順にスキャンしなければならず、時間を要します。

たとえば、大規模なデータベースから複数の従業員を検索する必要があるのに、姓か名前のどちらかしかわからないとします。インデックスがない場合、SQL Anywhere はテーブル全体をスキャンします。しかし、姓が先に入力されているインデックスと名前が先に入力されているインデックスの 2 つのインデックスが作成されていれば、SQL Anywhere はこの 2 つのインデックスを先にスキャンするので、一般的にはより速く情報を返すことができます。

 インデックスを適切に選択するとパフォーマンスに大きな違いが生じる
 クエリ最適化
 クラスタードインデックス
 参照