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 の使用法 » クエリ処理 » クエリの最適化と実行 » クエリ・パフォーマンスの向上 » インデックス

 

インデックスのパフォーマンス向上

インデックスから予期したパフォーマンスが得られない場合は、次の措置を検討してください。

この 2 つの措置は、次に説明するように、インデックスの選択性とインデックス・ファンアウトを高めることを目的としています。

インデックスの選択性

「インデックスの選択性」とは、追加データを読み込まないで必要なインデックス・エントリを検索するインデックスの機能です。

選択性が低い場合は、インデックスが参照するテーブル・ページから追加情報を取り出します。このような取り出しは「完全比較」と呼ばれ、インデックスのパフォーマンスを低下させます。

FullCompare プロパティ関数は、発生した完全比較の数を追跡します。また、この統計は Sybase Central パフォーマンス・モニタまたは Windows パフォーマンス・モニタを使用してモニタできます。

注意

Windows パフォーマンス・モニタは、Windows Mobile では使用できません。

さらに、完全比較の数は、統計情報付きのグラフィカルなプランの形式で提供されます。詳細については、プランに使用される一般的な統計を参照してください。

FullCompare 関数の詳細については、データベース・プロパティを参照してください。

インデックス構造とインデックス・ファンアウト

インデックスは、ツリーのようにいくつかのレベルで編成されています。インデックスの最初のページはルート・ページと呼ばれ、その次の下位レベルの 1 つ以上のページへと分岐して、さらにそれが分岐して、インデックスの最下位レベルに達します。最下位レベルのインデックス・ページは、リーフ・ページと呼ばれます。n レベルを持つインデックスの場合、特定のローを探すにはインデックス・ページを n 回読み込む必要があり、実際のローを含むデータ・ページを 1 回読み込む必要があります。通常、使用頻度の高いインデックス・ページはキャッシュに格納される傾向があるため、ディスクからの読み込みは n 回よりも少なくて済みます。

「インデックス・ファンアウト」は、1 ページに格納されるインデックス・エントリの数です。ファンアウトが大きなインデックスは、ファンアウトが小さなインデックスよりレベル数が少なくなります。したがって、通常はインデックス・ファンアウトが大きいほど、インデックスのパフォーマンスが向上します。データベースに適切なページ・サイズを選択すると、インデックス・ファンアウトを向上できます。テーブルとページのサイズを参照してください。

インデックス・レベル数を確認するには、sa_index_levels システム・プロシージャを使用します。sa_index_levels システム・プロシージャを参照してください。


複合インデックス