テーブルに関する統計情報を取得する

# odbc_statistics

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_statistics — テーブルに関する統計情報を取得する

### 説明

function odbc_statistics(
Odbc\Connection `$odbc`,
?string `$catalog`,
string `$schema`,
string `$table`,
int `$unique`,
int `$accuracy`
): Odbc\Result|false

テーブルおよびインデックスに関する統計情報を取得します。

### パラメータ

`odbc`
  ODBC 接続オブジェクト。詳細は odbc_connect() を参照ください。
`catalog`

  カタログ(ODBC 2 の用語では '修飾子')。

`schema`

  スキーマ (ODBC 2 の用語では '所有者')。

`table`

  テーブル名。

`unique`

  インデックスのタイプ。 `SQL_INDEX_UNIQUE`, `SQL_INDEX_ALL` のいずれかを指定します。

`accuracy`

  `SQL_ENSURE`, `SQL_QUICK` のいずれかを指定します。 後者は、サーバーで利用できる場合に限り、`CARDINALITY` と `PAGES` をドライバが取得するように要求します。

### 戻り値

ODBC 結果オブジェクトを返します。失敗した場合に `false` を返します。

結果セットのカラムは次のようになります。

- `TABLE_CAT`
- `TABLE_SCHEM`
- `TABLE_NAME`
- `NON_UNIQUE`
- `INDEX_QUALIFIER`
- `INDEX_NAME`
- `TYPE`
- `ORDINAL_POSITION`
- `COLUMN_NAME`
- `ASC_OR_DESC`
- `CARDINALITY`
- `PAGES`
- `FILTER_CONDITION`

ドライバは追加のカラムを返すことが出来ます。

結果セットは `NON_UNIQUE`, `TYPE`, `INDEX_QUALIFIER`, `INDEX_NAME`, `ORDINAL_POSITION` でソートされます。

### 変更履歴

バージョン | 説明
--- | ---
8.4.0 | 引数 `odbc` は、Odbc\Connection クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、resource を期待していました。
8.4.0 | この関数は Odbc\Result クラスのインスタンスを返すようになりました。 これより前のバージョンでは、resource を返していました。

### 例

例1 テーブルの統計情報を表示する

    <?php
    $conn = odbc_connect($dsn, $user, $pass);
    $statistics = odbc_statistics($conn, 'TutorialDB', 'dbo', 'TEST', SQL_INDEX_UNIQUE, SQL_QUICK);
    while (($row = odbc_fetch_array($statistics))) {
        print_r($row);
        break; // further rows omitted for brevity
    }
    ?>

上の例の出力は、 たとえば以下のようになります。

    Array
    (
        [TABLE_CAT] => TutorialDB
        [TABLE_SCHEM] => dbo
        [TABLE_NAME] => TEST
        [NON_UNIQUE] =>
        [INDEX_QUALIFIER] =>
        [INDEX_NAME] =>
        [TYPE] => 0
        [ORDINAL_POSITION] =>
        [COLUMN_NAME] =>
        [ASC_OR_DESC] =>
        [CARDINALITY] => 15
        [PAGES] => 3
        [FILTER_CONDITION] =>
    )

### 参考

- odbc_tables() - 指定したデータソースに保存されたテーブルの名前のリストを取得する

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open