(PHP 4, PHP 5, PHP 7, PHP 8)
odbc_statistics — Retrieve statistics about a table
$odbc
,$catalog
,$schema
,$table
,$unique
,$accuracy
Get statistics about a table and its indexes.
odbc
The ODBC connection object, see odbc_connect() for details.
catalog
The catalog ('qualifier' in ODBC 2 parlance).
schema
The schema ('owner' in ODBC 2 parlance).
table
The table name.
unique
The type of the index.
One of SQL_INDEX_UNIQUE
or SQL_INDEX_ALL
.
accuracy
One of SQL_ENSURE
or SQL_QUICK
.
The latter requests that the driver retrieve the CARDINALITY
and
PAGES
only if they are readily available from the server.
Returns an ODBC result object or false
on failure.
The result set has the following columns:
TABLE_CAT
TABLE_SCHEM
TABLE_NAME
NON_UNIQUE
INDEX_QUALIFIER
INDEX_NAME
TYPE
ORDINAL_POSITION
COLUMN_NAME
ASC_OR_DESC
CARDINALITY
PAGES
FILTER_CONDITION
The result set is ordered by NON_UNIQUE
, TYPE
, INDEX_QUALIFIER
,
INDEX_NAME
and ORDINAL_POSITION
.
Version | Description |
---|---|
8.4.0 |
odbc expects an Odbc\Connection
instance now; previously, a resource was expected.
|
8.4.0 | This function returns an Odbc\Result instance now; previously, a resource was returned. |
Example #1 List Statistics of a Table
<?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
}
?>
The above example will output something similar to:
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] => )
A couple of the function parameters are undefined:
unique - determines whether you want to return just unique indexes or all indexes. Use SQL_INDEX_UNIQUE or SQL_INDEX_ALL for this parameter
accuracy - whether you wan to return everything there is to know about the table or just what information is readily available. Use SQL_ENSURE or SQL_QUICK for this parameter
For a bit more info about this function see the ODBC function SQLStatistics() at http://msdn.microsoft.com/en-us/library/ms711022(v=vs.85).aspx