Главная » SQL, Базы данных » СТАТИСТИЧЕСКИЕ ПОКАЗАТЕЛИ БАЗЫ ДАННЫХ

0

На стадиях 3 и 4 общего процесса оптимизации (называемых стадиями выбора пути доступа) используются статистические показатели базы данных, хранящиеся в ее каталоге (дополнительные сведения о том, как используются эти статистические показатели, приведены в разделе 18.7). В демонстрационных целях ниже кратко рассматриваются (с небольшими дополнительными комментариями) некоторые  из основных статистических показателей, используемых в двух коммерческих продуктах, — СУБД DB2 и Ingres. Приведем некоторые из основных статистических показателей5, применяемых в СУБД DB2.

■    Для каждой базовой таблицы фиксируются следующие показатели:

■     кардинальность;

■     количество страниц, занятых таблицей;

■     доля табличного пространства, занимаемого таблицей.

■    Для каждого столбца каждой базовой таблицы фиксируются следующие показатели:

■     количество различных значений в столбце;

■     второе наибольшее значение в столбце;

■     второе наименьшее значение в столбце;

■     десять значений в столбце (только для индексированных столбцов), которые встречаются чаще всего, а также количество вхождений каждого из этих зна чений.

. ■  Для каждого индекса фиксируются следующие показатели:

■     индикатор, указывающий, является ли индекс кластеризованным (т.е. индек сом, в котором логический порядок значений ключа совпадает с физическим порядком размещения этих значений на диске);

■     для кластеризованных индексов — доля индексированной таблицы, находя щейся в кластеризующей последовательности;

5  Поскольку СУБД DB2 и Ingres относятся к категории систем с поддержкой SQL, в них вместо терминов переменная отношения и атрибут используются термины таблица и столбец. В связи с этим указанные термины используются и в настоящем разделе. Кроме того, следует  отметить, что в обоих продуктах фактически подразумевается, что базовые таблицы  отображаются непосредственно на хранимые таблицы.

Глава 18. Оптимизация     697

■     количество листовых страниц в индексе;

■     количество уровней в индексе.

Примечание. Перечисленные выше статистические показатели не обновляются в реальном масштабе времени (т.е. при каждом обновлении базы данных) из-за больших издержек, которые потребовались бы при использовании такого подхода. Вместо этого статистические  показатели  обновляются  избирательно,  с  помощью  системной  утилиты RUNSTATS, которая запускается по требованию администратора базы данных, например после реорганизации базы данных. Аналогичное утверждение применимо и к большинству других коммерческих продуктов (но не ко всем), в том числе к системе Ingres (см. следующий абзац), где соответствующая утилита называется OPTIMIZEDB.

Перечислим некоторые из основных статистических показателей базы данных, накапливаемых в СУБД Ingres.

Примечание. В системе Ingres индекс рассматривается как частный случай хранимой таблицы. Поэтому приведенные ниже статистические показатели для базовых таблиц и

столбцов вычисляются также для индексов.

■     Для каждой базовой таблицы фиксируются следующие показатели:

■     кардинальность;

■     количество первичных страниц для таблицы;

■     количество страниц переполнения для таблицы.

■     Для каждого столбца в каждой базовой таблице фиксируются следующие показатели:

■     количество различных значений в столбце;

■     максимальное, минимальное и среднее значения для столбца;

■     реальные значения в столбце и частота их вхождений.

Источник: Дейт К. Дж., Введение в системы баз данных, 8-е издание.: Пер. с англ. — М.: Издательский дом «Вильямс», 2005. — 1328 с.: ил. — Парал. тит. англ.

По теме:

  • Комментарии