(PHP 4, PHP 5, PHP 7, PHP 8)
odbc_statistics — テーブルに関する統計情報を取得する
$odbc
,$catalog
,$schema
,$table
,$unique
,$accuracy
テーブルおよびインデックスに関する統計情報を取得します。
odbc
ODBC 接続 ID。詳細は odbc_connect() を参照ください。
catalog
カタログ(ODBC 2 の用語では '修飾子')。
schema
スキーマ (ODBC 2 の用語では '所有者')。
table
テーブル名。
unique
インデックスのタイプ。
SQL_INDEX_UNIQUE
, SQL_INDEX_ALL
のいずれかを指定します。
accuracy
SQL_ENSURE
, SQL_QUICK
のいずれかを指定します。
後者は、サーバで利用できる場合に限り、CARDINALITY
と
PAGES
をドライバが取得するように要求します。
ODBC 結果 ID を返します。失敗した場合に 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
でソートされます。
例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] => )