ページの先頭行へ戻る
Symfoware Server V10.0.0 SQLリファレンス

3.60 SET STATISTICS文

機能

データベースに最適化情報を設定します。

記述形式

表のデータ構造がSEQUENTIALまたはOBJECTの表のDSI指定の場合

表のデータ構造がRANDOMの表のDSI指定の場合

インデックスのDSI指定の場合

表指定の場合

インデックスのDSO指定の場合

ファイル指定の場合

権限

最適化情報を設定できるのは、指定した表、インデックスDSOまたはDSIの定義者のみです。

一般規則

DSI
  • 最適化情報を設定するDSI名を指定します。

表名
  • 最適化情報を設定する表名を指定します。

インデックスDSO
  • 最適化情報を設定するインデックスのDSO名を指定します。

FILE
  • 設定する最適化情報を記述したファイル名を指定します。PRINT STATISTICS文で出力した最適化情報を編集して、最適化情報を設定することができます。ファイル名に指定できる長さは、256バイト以内です。

RECORD
  • DSIまたは表に格納するレコード件数を指定します。

  • 表指定の場合で表が分割されている場合、指定されたレコード件数を表を構成するDSI数で割った値を各DSIに設定します。

PAGE
  • レコードを格納するページ数を指定します。

  • 表のデータ構造がSEQUENTIALまたはOBJECTの場合は、DATA部のページ数を指定します。

  • 表のデータ構造がRANDOMの場合は、PRIME部とOVERFLOW部のページ数を設定します。

  • インデックスの場合は、BASE部のページ数を設定します。

  • 各ページ数は、“RDB運用ガイド(データベース定義編)”のデータベーススペースの所要量の見積りを参照して算出してください。

  • ページ数の指定を省略した場合は、RECORDで指定されたレコード件数から、システムが算出した値を設定します。可変長の列を含む場合は、最大レコード長で算出します。

AVERAGE PAGE
  • 表のデータ構造がRANDOMの場合に、DSO定義のRULEで指定した規則(省略時はシステムで決定)によって分類された各バケットの平均のOVERFLOW部のページ数を設定します。以前に、rdbupsコマンドを使用して、データベースにデータが格納された状態から最適化情報を設定するなどして、値が判っている場合に設定します。通常は省略してください。省略した場合は0を設定します。

MAX PAGE
  • 表のデータ構造がRANDOMの場合に、DSO定義のRULEで指定した規則(省略時はシステムで決定)によって分類された各バケットのうち、最大のOVERFLOW部のページ数を設定します。以前にrdbupsコマンドを使用して、データベースにデータが格納された状態から最適化情報を設定するなどして、値が判っている場合に設定します。通常は省略してください。省略した場合は0を設定します。

DIFFERENT KEY
  • インデックスの場合に、インデックスを構成する各列の組合せごとに、異なるキー値の数を設定します。設定する異なるキー値数の情報は、インデックスを構成する列について、先頭からの列を必ず含む組合せのすべてについて設定する必要があります。

インデックスが列1、列2、列3で構成される場合

インデックスを構成する列が以下の場合の設定例を示します。

  • インデックス構成列
    会社コード、部コード、課コード

  • 設定する異なるキー値の情報

    • 会社コードの異なるキー値数(5種類)

    • 会社コード、部コードの組合せでの異なるキー値数(20種類)

    • 会社コード、部コード、課コードの組合せでの異なるキー値数(150種類)

  • 指定方法

    DIFFERENT  KEY(5,20,150)

INDEX HEIGHT
  • インデックスのINDEX部の高さを指定します。以前にrdbupsコマンドを使用して、データベースにデータが格納された状態から最適化情報を設定するなどして、値が判っている場合に設定し、通常は省略してください。省略した場合は、表のレコード件数に対応した値をシステムが決定して設定します。

PRINT
  • 設定した最適化情報の内容を出力する場合に、出力先のファイル名を指定します。

最適化情報のファイルの記述形式

DSI指定の場合(SEQUENTIAL型またはOBJECT)

注) 省略可能です。

DSI指定の場合(RANDOM)

注) 省略可能です。

DSI指定の場合(BTREE)

注) 省略可能です。

表指定の場合(SEQUENTIAL型またはOBJECT)

表指定の場合(RANDOM)

インデックスDSO指定の場合

使用例

1

関東発注表DSIに最適化情報を設定します。表のデータ構造はSEQUENTIAL型です。

SET STATISTICS FOR DSI 関東発注表DSI
    RECORD(30000000)

2

製品名IXDSIのインデックスDSIに最適化情報を設定します。

SET STATISTICS FOR DSI 製品名IXDSI
    DIFFERENT KEY(150)