! ! !
СОВЕТ. Для пересоздания индекса используйте ALTER INDEX, или удалите и заново создайте его, или восстановите базу данных с резервной копии.
. ! .
Получение статистики по индексу
Firebird предоставляет утилиту командной строки, которая отображает статистические отчеты о состоянии объектов в базе данных. Этот инструмент создает множество отчетов о том, что происходит в базе данных. Основное внимание в этом разделе мы уделяем статистике по индексу. Остальные отчеты описываются после отчетов по индексу.
Инструмент командной строки gstat
Вам нужно запускать gstat на серверной машине, потому что это полностью локальная программа, которая не имеет доступа к базам данных как клиент. Ее размещение по умолчанию - каталог /bin в вашем каталоге инсталляции Firebird. Она выдает информацию об указанной базе данных и может быть использована SYSDBA или владельцем базы данных.
gstat в POSIX
Поскольку gstat обращается к файлам базы данных на уровне файловой системы, на платформах Linux и UNIX необходимо на уровне системы иметь доступ на чтение к этим файлам. Вы можете его получить одним из следующих способов.
* Соединитесь с той учетной записью, под которой выполняется сервер (по умолчанию пользователь firebird в версии 1.5, root или interbase в версии 1.0.x).
* Установите разрешение на чтение для вашей группы к файлу базы данных.
В отличие от некоторых других инструментов командной строки gstat не имеет своего интерфейса командной строки. Каждый запрос заключается в вызове gstat с переключателями.
Синтаксис:
gstat [переключатели] имя-базы-данных
где имя-базы-данных- полный путь к базе данных.
Графические инструменты
gstat не является дружественным пользователю инструментом. Некоторые графические инструменты (например, IBAnalyst) четко выполняют ту же работу gstat по выводу результатов, используя Services API. Формы экранов были взяты из утилиты с открытыми кодами IBOConsole [60] IBOConsole поддерживает Lorenzo Mengoni - см. http://www.mengoni.it.
.
Переключатели
В табл. 18.1 описаны переключатели gstat.
Таблица 18.1. Переключатели gstat
Переключатель
|
Описание
|
-user имя-пользователя
|
Проверяет имя пользователя перед доступом к базе данных
|
-pa[ssword] пароль
|
Проверяет пароль перед доступом к базе данных
|
-header
|
Выводит информацию заголовочной страницы, затем прекращает работу
|
-log
|
Выводит информацию заголовочной страницы и страницы протокола, затем прекращает работу
|
-index
|
Отыскивает и отображает статистику по индексам базы данных
|
-data
|
Отыскивает и отображает статистику по таблицам пользователя базы данных
|
-all
|
Это значение по умолчанию, если вы не запросили -index, -data или -all. Отыскивает и отображает статистику по -index и-data
|
-system
|
Как и -all, но дополнительно включает статистику по системным таблицам
|
-r
|
Отыскивает и отображает статистику по размеру и версиям записей (включая все версии)
|
-t список-таблиц
|
Используется вместе с -data. Ограничивает отображаемые данные таблицами из списка таблиц
|
-z
|
Печатает версию утилиты gstat
|
Рекомендуется назначить вывод результатов в текстовый файл и просматривать его в текстовом редакторе.
! ! !
ПРИМЕЧАНИЕ. Поскольку gstat выполняет собственный анализ на уровне файла, она не выполняется в контексте какой-либо транзакции. Следовательно, статистика по индексам также включает информацию по тем индексам, которые используются в незавершенных транзакциях. Например, не будет предупреждений, если отчет показывает некоторые дублирующие записи в индексе первичного ключа.
. ! .
Переключатель -index
Синтаксис:
gstat -i[ndex] база-данных
Этот ключ отыскивает и отображает статистику по индексам в базе данных: средняя длина ключа (в байтах), общее количество дубликатов и максимальное количество дубликатов одного ключа. Включите переключатель -s[ystem], если вам нужна информация о системных индексах.
К сожалению, не существует способа получить статистику по одному индексу, однако вы можете ограничить результат одной таблицей, используя переключатель -t, за которым следует имя таблицы. Вы можете записать разделенный пробелами список имен таблиц для получения результатов более чем по одной таблице. Если имена ваших таблиц являются чувствительными к регистру - были объявлены идентификаторами, заключенными в кавычки, - то аргументы переключателя -t должны быть записаны в правильном регистре, но не должны заключаться в кавычки. Для таблиц с пробелами в их именах gstat вовсе не работает.
Читать дальше