odbc_statistics

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

odbc_statisticsRetrieve statistics about a table

说明

odbc_statistics(
    resource $odbc,
    ?string $catalog,
    string $schema,
    string $table,
    int $unique,
    int $accuracy
): resource|false

Get statistics about a table and its indexes.

参数

odbc

ODBC 连接标识符,详见 odbc_connect()

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 identifier 或者在失败时返回 false.

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
Drivers can report additional columns.

The result set is ordered by NON_UNIQUE, TYPE, INDEX_QUALIFIER, INDEX_NAME and ORDINAL_POSITION.

示例

示例 #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
}
?>

以上示例的输出类似于:

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() - Get the list of table names stored in a specific data source

add a note add a note

User Contributed Notes 1 note

up
2
eion at bigfoot dot com
13 years ago
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
To Top