インデックスから予期したパフォーマンスが得られない場合は、次の措置を検討してください。
この 2 つの措置は、次に説明するように、インデックスの選択性とインデックス・ファンアウトを高めることを目的としています。
「インデックスの選択性」とは、追加データを読み込まないで必要なインデックス・エントリを検索するインデックスの機能です。
選択性が低い場合は、インデックスが参照するテーブル・ページから追加情報を取り出します。このような取り出しは「完全比較」と呼ばれ、インデックスのパフォーマンスを低下させます。
FullCompare プロパティ関数は、発生した完全比較の数を追跡します。また、この統計は Sybase Central パフォーマンス・モニタまたは Windows パフォーマンス・モニタを使用してモニタできます。
Windows パフォーマンス・モニタは、Windows Mobile では使用できません。
さらに、完全比較の数は、統計情報付きのグラフィカルなプランの形式で提供されます。詳細については、プランに使用される一般的な統計を参照してください。
FullCompare 関数の詳細については、データベース・プロパティを参照してください。
インデックスは、ツリーのようにいくつかのレベルで編成されています。インデックスの最初のページはルート・ページと呼ばれ、その次の下位レベルの 1 つ以上のページへと分岐して、さらにそれが分岐して、インデックスの最下位レベルに達します。最下位レベルのインデックス・ページは、リーフ・ページと呼ばれます。n レベルを持つインデックスの場合、特定のローを探すにはインデックス・ページを n 回読み込む必要があり、実際のローを含むデータ・ページを 1 回読み込む必要があります。通常、使用頻度の高いインデックス・ページはキャッシュに格納される傾向があるため、ディスクからの読み込みは n 回よりも少なくて済みます。
「インデックス・ファンアウト」は、1 ページに格納されるインデックス・エントリの数です。ファンアウトが大きなインデックスは、ファンアウトが小さなインデックスよりレベル数が少なくなります。したがって、通常はインデックス・ファンアウトが大きいほど、インデックスのパフォーマンスが向上します。データベースに適切なページ・サイズを選択すると、インデックス・ファンアウトを向上できます。テーブルとページのサイズを参照してください。
インデックス・レベル数を確認するには、sa_index_levels システム・プロシージャを使用します。sa_index_levels システム・プロシージャを参照してください。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |