PHP 8.4.2 Released!

odbc_statistics

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

odbc_statisticsПолучает статистику о таблице

Описание

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

Функция получает статистику о таблице и её индексах.

Список параметров

odbc

Объект ODBC-соединения. Подробнее о коннекторе рассказывает описание функции odbc_connect().

catalog

Каталог ('qualifier' на языке ODBC 2).

schema

Схема ('owner' на языке 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-запроса 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;
// Следующие строки опустили для краткости
}

?>

Вывод приведённого примера будет похож на:

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() - Получает список имён таблиц, которые хранятся в источнике данных

Добавить

Примечания пользователей 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