num_quantiles - 列の変位値の数の構成パラメーター

このパラメーターでは、WITH DISTRIBUTION オプションが RUNSTATS コマンドで指定されたときに収集される変位値の数をコントロールします。

構成タイプ
データベース
パラメーター・タイプ
  • オンラインで構成可能
  • Db2® pureScale® 環境のメンバーにより構成可能
伝搬クラス
即時
デフォルト [範囲]
20 [0 - 32 767]
単位
カウンター

このパラメーターの値を大きくする と、統計の収集時に使用される統計ヒープの量 (stat_heap_sz) が 増大します。

変位値統計は、オプティマイザーが列内のデータ値の分布を理解するのに役立ちます。 値を大きくすれば、照会オプティマイザーで使用できる情報が増える結果になりますが、 追加のカタログ・スペースが必要になります。 0 または 1 が指定されていると、たとえ分散統計の収集を要求しても、変位値統計が保存されることはありません。

NUM_QUANTILES コマンド・パラメーターを使用して、表レベルまたは列レベルで RUNSTATS コマンドの一部として収集される変位値の数を指定することもできます。 何も指定されなかった場合は、num_quantiles 構成パラメーター値が 使用されます。 収集される変位値の数を RUNSTATS コマンドによって変更する方が、num_quantiles データベース構成パラメーターを使用して変更を行うよりも簡単です。

このパラメーターを更新すると、一様に分布していないデータについて、 範囲述部の選択度をより正確に見積もることができます。 オプティマイザーの決定の中でも特に、この情報は、索引スキャンと表スキャンのどちらが 選択されるかについて、強い影響を及ぼします (頻繁に発生する範囲の値にアクセスするには、表スキャンを使用する方が 効率的であり、発生頻度の低い範囲の値の場合は、索引スキャンを使用する方が 効率的です)。

このパラメーターの値を変更した場合は、その後で次のことを行う必要があります。
  • 再度 RUNSTATS コマンドを実行して、高頻度値の変更された数で統計を収集します。
  • 静的 SQL または XQuery ステートメントが含まれているパッケージがあれば、すべて再バインドします。

RUNSTATS を使用すると、表レベルと列レベルの両方で収集される変位値の数を制限できます。 したがって、カタログが活用できなかった列に関する分散統計を削減し、しかもなお、 重要な列に関する情報は使用して、カタログ内で占有されているスペースについて最適化ができます。

推奨: このパラメーターのデフォルト値は、ほとんどの場合にかなり正確な見積もりとなります。 以下の 2 つの間に一貫して有意差が見られる場合は、値を大きくすることを検討できます。
  • Explain 出力の選択度の見積もり。
  • 一様に分布していない列データに対する範囲述部の実際の選択度。
このパラメーターの妥当な実用値の範囲は 10 から 50 です。