Чтение онлайн

на главную - закладки

Жанры

Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ

Борри Хелен

Шрифт:

. ! .

Получение статистики по индексу

Firebird предоставляет утилиту командной строки, которая отображает статистические отчеты о состоянии объектов в базе данных. Этот инструмент создает множество отчетов о том, что происходит в базе данных. Основное внимание в этом разделе мы уделяем статистике по индексу. Остальные отчеты описываются после отчетов по индексу.

Инструмент командной строки gstat

Вам нужно запускать gstat на серверной машине, потому что это полностью локальная программа, которая не имеет доступа к базам данных как клиент. Ее размещение по умолчанию - каталог /bin в вашем каталоге инсталляции Firebird. Она выдает информацию об указанной базе данных и может быть использована SYSDBA или владельцем базы данных.

gstat
в POSIX

Поскольку gstat обращается к файлам базы данных на уровне файловой системы, на платформах Linux и UNIX необходимо на уровне системы иметь доступ на чтение к этим файлам. Вы можете его получить одним из следующих способов.

* Соединитесь с той учетной записью, под которой выполняется сервер (по умолчанию пользователь firebird в версии 1.5, root или interbase в версии 1.0.x).

* Установите разрешение на чтение для вашей группы к файлу базы данных.

Интерфейс gstat

В отличие от некоторых других инструментов командной строки gstat не имеет своего интерфейса командной строки. Каждый запрос заключается в вызове gstat с переключателями.

Синтаксис:

gstat [переключатели] имя-базы-данных

где имя-базы-данных- полный путь к базе данных.

Графические инструменты

gstat не является дружественным пользователю инструментом. Некоторые графические инструменты (например, IBAnalyst) четко выполняют ту же работу gstat по выводу результатов, используя Services API. Формы экранов были взяты из утилиты с открытыми кодами IBOConsole [60] .

Переключатели

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 вовсе не работает.

Вы можете добавить переключатель -system, чтобы включить сведения о системных индексах в отчет.

Чтобы запустить утилиту для базы данных employee и направить ее вывод в текстовый файл с именем gstat.index.txt, выполните следующее:

* в POSIX наберите (все в одной строке):

./gstat -index /opt/firebird/examples/employee.fdb -t CUSTOMER -user SYSDBA -password masterkey

> /opt/firebird/examples/gstat.index.txt

* в Win32 наберите (все в одной строке):

gstat -index

"c:\Program Files\Firebird\Firebird_1_5\examples\employee.fdb" -t CUSTOMER

– user SYSDBA -password masterkey

> "c:\Program Files\Firebird\Firebird_1_5\examples\gstat.index.txt"

! ! !

ПРИМЕЧАНИЕ. Двойные кавычки для пути к базе данных требуются в Windows, если ваш путь содержит пробелы.

. ! .

На рис. 18.3 показано, как отображаются данные индексной страницы.

Рис. 18.3. Пример отображения данных индексной страницы

Что все это значит

Вначале появляется итоговая информация об индексе. В табл. 18.2 объясняются записи строка за строкой.

Поскольку утилита gstat выполняет свой анализ на уровне файла, она не использует концепции транзакции. Следовательно, статистика по индексам также включает информацию по тем индексам, которые используются в незавершенных транзакциях.

Таблица 18.2. Вывод gstat -i[ndex]

Элемент

Описание

Index

Имя индекса

Depth

Количество уровней в странице индексного дерева. Если глубина дерева индексной страницы превышает 3, то доступ к записям через индекс не будет максимально эффективным. Для уменьшения глубины дерева индексной страницы увеличьте размер страницы. Если увеличение размера страницы не уменьшает глубины, снова увеличьте размер страницы

Leaf buckets

Количество страниц самого низкого уровня (листовых) в дереве индекса. Это страницы, которые содержат указатели на записи. Страницы высокого уровня содержат косвенные связи

Nodes

Общее количество записей, индексированных в дереве. Должно быть равно количеству индексированных строк в дереве, хотя отчет gstat может включать узлы, которые были удалены, но не вычищены в процессе сборки мусора. Может также включать множество элементов для записей, у которых был изменен индексный ключ

Average data length

Средняя длина каждого ключа в байтах. Обычно имеет много меньшее значение, чем длина объявленного ключа, потому что выполняется сжатие суффикса и префикса

Total dup

Общее количество строк дубликатов индекса

Max dup

Количество дублирующих узлов в "цепочке", имеющих наибольшее количество дубликатов. Всегда будет нулем для уникальных индексов. Если число велико по сравнению с числом в Total dup, то это признак плохой селективности

Average fill

Это гистограмма с пятью 20-процентными полосами, каждая из которых показывает количество индексных страниц, чей средний процент заполнения находится в указанном диапазоне. Процент заполнения определяется соотношением пространства каждой страницы, содержащей данные. Сумма таких чисел дает общее количество страниц, содержащих индексные данные

Поделиться:
Популярные книги

Семья. Измена. Развод

Высоцкая Мария Николаевна
2. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Семья. Измена. Развод

Звездная Кровь. Изгой

Елисеев Алексей Станиславович
1. Звездная Кровь. Изгой
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Звездная Кровь. Изгой

На границе империй. Том 4

INDIGO
4. Фортуна дама переменчивая
Фантастика:
космическая фантастика
6.00
рейтинг книги
На границе империй. Том 4

Искушение генерала драконов

Лунёва Мария
2. Генералы драконов
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Искушение генерала драконов

Шаг в бездну

Муравьёв Константин Николаевич
3. Перешагнуть пропасть
Фантастика:
фэнтези
космическая фантастика
7.89
рейтинг книги
Шаг в бездну

Камень Книга одиннадцатая

Минин Станислав
11. Камень
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Камень Книга одиннадцатая

Никто и звать никак

Ром Полина
Фантастика:
фэнтези
7.18
рейтинг книги
Никто и звать никак

Возвышение Меркурия. Книга 14

Кронос Александр
14. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 14

Идеальный мир для Лекаря 20

Сапфир Олег
20. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 20

Генерал Скала и ученица

Суббота Светлана
2. Генерал Скала и Лидия
Любовные романы:
любовно-фантастические романы
6.30
рейтинг книги
Генерал Скала и ученица

Пограничная река. (Тетралогия)

Каменистый Артем
Пограничная река
Фантастика:
фэнтези
боевая фантастика
9.13
рейтинг книги
Пограничная река. (Тетралогия)

Драконий подарок

Суббота Светлана
1. Королевская академия Драко
Любовные романы:
любовно-фантастические романы
7.30
рейтинг книги
Драконий подарок

Сумеречный Стрелок 2

Карелин Сергей Витальевич
2. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный Стрелок 2

Сумеречный Стрелок 10

Карелин Сергей Витальевич
10. Сумеречный стрелок
Фантастика:
рпг
аниме
фэнтези
5.00
рейтинг книги
Сумеречный Стрелок 10