num_freqvalues - 保存される高頻度値の数構成パラメーター

このパラメーターを使用すると、 RUNSTATS コマンドで WITH DISTRIBUTION オプションを指定した場合に収集される 最頻値 の数を指定できます。

構成タイプ
データベース
パラメーター・タイプ
オンラインで構成可能
伝搬クラス
即時
デフォルト [範囲]
10 [0 - 32 767 ]
単位
カウンター

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

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

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

このパラメーターを更新すると、一様に分布していないデータについて、オプティマイザーが一部の述部 (=、<, >) の選択度をより正確に見積もることができます。 選択度計算の正確性が増せば、より効率的なアクセス・プランが選択できる可能性があります。

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

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

推奨: このパラメーターを更新するためには、一般的に 選択述部がある (最も重要な表内の) 最も重要な列における非均等度を決定する 必要があります。 これには、列内におけるそれぞれの値の 出現回数の順序付きランキングを提供する、SQL SELECT ステートメントを 使用することができます。 均等に分散した列、固有な列、LONG 列、または LOB 列は考慮しないでください。 このパラメーターの妥当な実用値は、10 から 100 の範囲にあります。

高頻度値統計を収集するプロセスでは、大量の CPU およびメモリー (stat_heap_sz) リソースが必要になることに注意してください。