ページの先頭行へ戻る
Symfoware Server V10.0.0 チューニングガイド

3.1 アクセスプランを確認する

アクセスプランの確認ポイントとしては、以下があります。

参照

アクセスプランの出力形式や出力内容は、“SQLTOOLユーザーズガイド”を参照してください。

アクセス方式を確認する

アクセスプランのSCANエレメントのscan typeでアクセス方式を確認します。

scan typeの表示内容

アクセス方式

TABLE KEY SCAN

表をキー値で検索

TABLE ALL SCAN

表の全文検索

TABLE PARALLEL SCAN

表の全件を並列に検索

INDEX KEY SCAN(n)

インデックス検索

INDEX ALL SCAN

インデックスの全件を順検索

INDEX TABLE SCAN(n)

インデックスをキー範囲検索しながら表のレコードも取り出す

処理に時間がかかるアクセス方式が選択されていないか、インデックスが適切に使用されているかを確認します。

適切なアクセス方式でない場合には、アクセス方式をチューニングします。

アクセス方式のチューニング方法については、“4.1 アクセス方式のチューニング”を参照してください。

ジョイン方法を確認する

アクセスプランのエレメント情報で、ジョイン方法を確認します。

エレメント名の表示内容

意味

特長

MERGE JOIN

マージジョインを行う

複数の表をジョインキー(ジョインで使用する列)のデータの昇順に読み込み、ジョインキーの等しい行を結合します。

FETCH JOIN

フェッチジョインを行う

一方の表のレコードごとに、ジョインキーで他方の表へのアクセスを繰り返すため、大量データの検索を行う場合に十分な共用バッファがないと、結合される側の表のI/O効率が低下します。一般的には、大量データのジョインには向きません。反面、少量データのジョインには向いています

NESTED LOOP JOIN

ネスティドループジョインを行う

ジョインする表のすべてのレコードを組み合わせて結合を行うため、ジョイン結果を求めるのに時間がかかります。

ジョイン方法の特長を考慮し、適切なジョイン方法が選択されているかを確認します。ジョイン方法の選択が適切でない場合には、ジョイン方法をチューニングします。

参照

ジョイン方法についての詳細は、“アプリケーション開発ガイド(共通編)”を参照してください。

また、チューニング方法については、“4.2 ジョイン方法のチューニング”、“4.3 ジョイン順のチューニング”を参照してください。

アドバイスを確認する

アクセスプランの“Advice to an SQL statement”で、アドバイスを確認します。

アドバイスは、以下の場合に出力されます。

アドバイスが出力されている場合には、出力された内容に応じて、チューニングを実施します。

チューニング方法については、“4.4 アドバイスに応じたチューニング”を参照してください。

ソート作業域、ワーク作業域を確認する

アクセスプランのセクション情報で、出力先の資源名を確認します。

出力先の資源名として、以下が表示されている場合は、ソート作業域、ワーク作業域が使用されています。

次に、SQL性能情報の実行エレメント情報に出力される以下の内容を確認します。

実行エレメント名

詳細情報

出力内容

SORT SCAN/
SORT INSERT SCAN

file size

ソート処理時の二次記憶使用量

run merge

マージした回数

WORK SCAN/
WORK INSERT SCAN

file size

ソート処理時の二次記憶使用量

参照

SQL性能情報については、“SQLTOOLユーザーズガイド”を参照してください。

ソート処理などを行う場合に、二次記憶を大量に使用していることで性能が劣化している可能性があります。また、ソート処理時に、2回以上のマージ処理が行われていることで、メモリが不足し、性能が悪くなっている可能性があります。これらの場合には、ソートサイズ、ワークサイズのチューニングを実施します。

チューニング方法については、“4.5 ソートサイズ、ワークサイズのチューニング”を参照してください。