(PHP 4, PHP 5, PHP 7, PHP 8)
odbc_statistics — テーブルに関する統計情報を取得する
$odbc,$catalog,$schema,$table,$unique,$accuracyテーブルおよびインデックスに関する統計情報を取得します。
odbcODBC 接続オブジェクト。詳細は 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_CATTABLE_SCHEMTABLE_NAMENON_UNIQUEINDEX_QUALIFIERINDEX_NAMETYPEORDINAL_POSITIONCOLUMN_NAMEASC_OR_DESCCARDINALITYPAGESFILTER_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] =>
)