Другие переключатели gstat
Другие переключатели gstat
Статистика утилиты gstat может предоставить полезную информацию о других действиях с базой данных.
Переключатель -header
Эта строка
gstat -header база-данных
отображает суммарную информацию заголовочной страницы базы данных. На рис. 18.5 показан пример.
Первая строка отображает имя и размещение первичного файла базы данных. Следующие строки содержат информацию из заголовочной страницы базы данных. В табл. 18.3 описывается этот вывод.
Рис. 18.5. Пример вывода заголовочной страницы утилитой gstat
Таблица 18.3. Вывод gstat -h[eader]
Элемент
Описание
Flags
Флаги
Checksum
Контрольная сумма заголовочной страницы. В прототипе (InterBase) это было уникальное значение, вычислявшееся по всем данным заголовочной страницы. В Firebird это всегда 12 345. Когда заголовочная страница сохраняется на диске, а затем считывается, контрольная сумма найденной страницы сравнивается с 12 345, и если они не соответствуют, то вызывается ошибка контрольной суммы. Это перехватывает некоторые виды физического разрушения
Generation
Каждый раз увеличивается на единицу, когда заголовочная страница записывается на диск
Page size
Текущий размер страницы базы данных в байтах
ODS version
Версия структуры на диске (ODS) для базы данных. Это будет 10 для версии 1,0.x и 10.1 для версии 1.5
Oldest transaction
Идентификатор самой старой "заинтересованной" транзакции. Информацию об этом см. в главе 25
Oldest active
Идентификатор самой старой активной транзакции
Oldest snapshot
Идентификатор самой старой транзакции, которая не является в настоящий момент подходящей для сборки мусора (т. е. эта и другие, более поздние транзакции не являются для этого подходящими)
Next transaction
Идентификатор, который Firebird назначит следующей транзакции. Разница между самой старой активной транзакцией и следующей транзакцией определяет, когда начнется чистка базы данных[61]. Значение по умолчанию 20 000. См. разд. "Гигиена базы данных" главы 15
Bumped transaction
Теперь устарело
Sequence number
Последовательный номер заголовочной страницы. Всегда ноль
Next connection ID
Номер идентификатора следующего соединения с базой данных
Implementation ID
Архитектура аппаратуры, на которой была создана база данных
Shadow count
Количество наборов оперативных копий для базы данных
Number of cache buffers
Размер в страницах кэша базы данных. Ноль означает, что база данных использует значение по умолчанию сервера
(DefaultDbCachePages в firebird.config, default_cache_pages в ibconfig/isc_config для версии 1.0.x)
Next header page
Номер страницы следующей заголовочной страницы - хотя, похоже, это не поддерживается
Database dialect
Диалект SQL базы данных
Creation date
Дата создания базы данных или последнего восстановления из резервной копии
Attributes
force write означает режим принудительной записи.
no reserve указывает, что на страницах не резервируется место для старых версий данных. Это позволяет более плотно упаковывать данные на каждой странице, в силу чего база данных занимает меньше дискового пространства. Это идеал для баз данных только для чтения.
shutdown означает, что работа с базой данных запрещена для всех пользователей, кроме SYSDBA
Variable header data
Интервал очистки (sweep interval). Информация о вторичных файлах (если присутствуют)
Переключатель -data
Следующая строка
gstat -data база-данных
просматривает в базе данных таблицу за таблицей, отображая итоговую информацию о страницах данных. Для включения в отчет системных таблиц (RDB$XXX) добавьте переключатель -system. На рис. 18.6 показан пример вывода.
Рис. 18.6. Пример итогового вывода по страницам данных в gstat
Вывод в командной строке аналогичен.
COUNTRY (31)
Primary pointer page: 190, Index root page: 19
Data pages: 1, data page slots: 1, average fill: 26%
Fill distribution:
0 - 19% = 0
20 - 39% = 1
40 - 59% = 0
60 - 79% = 0
80 - 99% = 0
Для каждой таблицы базы данных отображаются числа, показанные в табл. 18.4.
Глава 18. Индексы
375
Таблица 18.4. Вывод gstat -d[ata]
Элемент
Описание
Primary pointer page
Номер первой страницы косвенных указателей на страницы, хранящие данные таблицы
Index root page
Номер страницы, которая является первой страницей указателей на индексы таблицы
Data pages
Общее количество страниц, в которых хранятся данные таблицы. Этот счетчик включает страницы, хранящие неподтвержденные версии записей и мусор, потому что gstat не может их отличить друг от друга
Data page slots
Количество указателей на страницы базы данных, содержащихся на страницах указателей. Должно равняться числу страниц данных
Average fill
Это гистограмма из пяти 20-процентных "полос", каждая из которых показывает количество страниц данных, чье среднее заполнение попадает в этот диапазон. Процент заполнения определяется соотношением пространства каждой страницы, содержащей данные. В нашем примере среднее заполнение низкое, потому что база данных employee.gdb содержит небольшие структуры записей, и их не так много. Сумма этих чисел дает общее количество страниц, содержащих данные
Fill distribution
Обобщающая гистограмма распределения использования памяти для всех страниц, выделенных в таблице. В нашем примере пока используется только одна страница, и она имеет менее 40% заполнения
Ограничение вывода для gstat -data
Если вам не нужен отчет по данным для всех таблиц, вы можете использовать переключатель -t для задания списка таблиц, интересующих вас.
Синтаксис:
gstat -data база-данных -t имя-таблицы1 [имя-таблицы2 [ имя-таблицы3 ..]]
! ! !
ПРИМЕЧАНИЕ. Имена таблиц должны быть набраны в верхнем регистре. К сожалению, gstat не поддерживает переключатель -t[able-list] для баз данных, которые используют чувствительные к регистру идентификаторы таблиц, заключенные в кавычки.
. ! .
Переключатель -r[ecords]
Следующая строка
gstat -r база-данных
отображает статистику по размерам и версиям записей.
* Для строк: среднее значение длины строк в байтах и общее количество строк в таблице.
* Для старых версий: среднее значение длины версий в байтах, общее количество версий в таблице и максимальная цепочка версий для записи.
Общее количество строк в таблице может включать активные и зависшие транзакции. Длина записей и версий применима к фактическим данным пользователя - длина не использует счетчик в заголовке, который предшествует каждой версии записи.
Пример
Три таблицы (CAULDRON, CAULDRON1 и CAULDRON2) имеют одинаковые метаданные и объем 100 000 записей. Номинальная, несжатая длина записи 900 байт.
CAULDRON - чистая таблица без старых версий строк. Средняя длина хранимой строки 121 байт - приблизительно 87% сжатия.
CAULDRON1 имеет активную, все еще выполняющуюся транзакцию:
DELETE FROM CAULDRON1;
Каждая строка имеет нулевую (0.00) длину, потому что первичная запись является заглушкой удаления (delete stub), которая содержит только заголовок строки. Все подтвержденные записи были восстановлены как старые версии и сжаты до того же размера, который они имели, когда были первичными записями. Таблица содержит то же количество страниц (4000), что и до операции DELETE. Средний коэффициент заполнения составляет от 85 до 95% для размещения всех заглушек удаления.
CAULDRON2 имеет активную, все еще выполняющуюся транзакцию:
UPDATE CAULDRON2 SET F20FFSET = 5.0
Измененные записи увеличили размер на 2 байта (с 121 до 123), что можно отнести к более низкому уровню сжатия.
Значение 5.0 заменило большинство отсутствующих или нулевых значений, что сделало значение этого поля отличным от других полей. Теперь существует 100 000 старых версий со средним значением 10 байт каждая. Средний коэффициент заполнения увеличен до 99%, а таблица выросла с 138 до 4138 страниц.
> gstat proj.gdb -r -t CAULDRON CAULDRONI CAULDRON2
. . .
Analyzing database pages . . .
CAULDRON (147)
Primary pointer page: 259, Index root page: 260
Average record length: 120.97, total records: 100000
Average version length: 0.00, total versions: 0, max versions: 0
Data pages: 4000, data page slots: 4000, average fill: 85%
Fill distribution:
0 -19%=0
20 -39%=0
40 -59%=0
60 -79%=0
80 -99%=4000
CAULDR0N1 (148)
Primary pointer page: 265, Index root page: 266
Average record length: 0.00, total records: 100000
Average version length: 120.97, total versions: 100000, max versions: 1
Data pages: 4000, data page slots: 4000, average fill: 95%
Fill distribution:
0 -19%=0
20 -39%=0
40 -59%=0
60 -79%=0
80 -99%=4000
CAOLDRON2 (149)
Primary pointer page: 271, Index root page: 272
Average record length: 122.97, total records: 100000
Average version length: 10.00, total versions: 100000, max versions: 1
Data pages: 4138, data page slots: 4138, average fill: 99%
Fill distribution:
0 -19%=0
20 -39%=0
40 -59%=0
60 -79%=0
80 -99%=4138
! ! !
СОВЕТ. Для API-программистов функция API Firebird isc_database_info() и Services API предоставляют элементы, которые делают возможным синхронизировать выполнение поиска и получение статистики по базе данных в ваших программах приложений. Для программистов Delphi, C++ Builder и Kylix доступны различные наборы компонентов для получения статистики базы данных.
. ! .
Пора дальше
Здесь мы завершаем обсуждение объектов базы данных и перемещаем фокус на язык создания и изменения данных. Наше исследование начинается с общего взгляда на SQL в терминах стандартов и как реализация Firebird разбивается на множество перекрывающихся подмножеств. После этого в главе 20 мы начинаем более подробное рассмотрение данных как множеств и операторов языка манипулирования данными (Data Manipulation Language, DML) для определения данных и манипуляций с ними.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Переключатели
Переключатели Если вы задаете посетителю вопрос и уверены, что знаете все возможные варианты ответа на него, а также хотите, чтобы посетитель выбрал только один из предложенных вами вариантов, используйте переключатель. Только убедитесь, что действительно предоставили
Перекрестные переключатели
Перекрестные переключатели В рамках начавшейся в 1995 году десятилетней программы ASCI (Accelerated Strategic Computing Initiative) министерство энергетики США DOE (Department of Energy) запросило у производителей компьютеров предложения по созданию самых мощных на сегодня ЭВМ. Задача ACSI — разработка
23.4.3. Переключатели
23.4.3. Переключатели Переключатели бывают двух типов: зависимые (radio buttons) и независимые (checkbuttons). Переключатели являются кнопками, поэтому для них характерны те же события, что и для кнопок.Начнем с независимых переключателей, так как они проще в реализации. Создать такой
gstat
gstat Этот инструмент получения статистики собирает и отображает статистические сведения по индексам и данным базы данных. Подробную информацию об использовании gstat см. в разд. "Темы оптимизации" главы 18.fb_lock_printЭта утилита формирует статистические данные файла блокировок,
Интерфейс gstat
Интерфейс gstat В отличие от некоторых других инструментов командной строки gstat не имеет своего интерфейса командной строки. Каждый запрос заключается в вызове gstat с переключателями.Синтаксис:gstat [переключатели] имя-базы-данныхгде имя-базы-данных- полный путь к базе
gstat
gstat Инструмент командной строки gstat, используемый с переключателем -header, показывает различную статистическую информацию базы данных, включая текущее значение идентификатора транзакции для OIT, OAT и для следующей новой транзакции. Для использования gstat соединитесь с базой
Переключатели командной строки
Переключатели командной строки Требуются только начальные символы переключателей. Вы также можете набрать любую часть текста в квадратных скобках, показанного в табл. 37.1, включая полное название режима. Например, задание -n, -no, -noauto имеет одинаковый эффект.Таблица 37.1.
Переключатели копирования
Переключатели копирования В табл. 38.1 описаны переключатели, которые могут быть использованы в gbak при выполнении копирования.Таблица 38.1. Переключатели gbak для копирования Переключатель Эффект -b[ackup database] Утилита gbak выполняет копирование указанной базы данных в файл или
Переключатели восстановления
Переключатели восстановления В табл. 38.2 перечисляются и описываются переключатели, которые могут быть использованы в gbak при выполнении восстановления базы данных.Таблица 38.2. Переключатели gbak для выполнения восстановления базы данных Переключатель Эффект -c[reate
Другие
Другие Для интерфейса с Firebird доступны некоторые другие наборы компонентов.Компоненты UIBЭто набор небольших по объему компонентов доступа к данным с открытыми кодами и драйверы DBXpress для Firebird, InterBase и Yaffil[164]. Это свободный набор под общей лицензией Mozilla. Данные компоненты
Другие
Другие N Сервер Описание 1 http://www.netease.com/~dce Delphi Components Crack (with Dr.Dai) Как там написано, "Following components ONLY for Delphi 3.0", остальное понять трудно, как и идентифицировать родной язык автора сайта, хотя по скриншотам разобраться что и где лежит вполне
Переключатели типов
Переключатели типов Как и раньше, отобразить мастер для выполнения поиска можно с помощью сочетания клавиш Windows+F (рис. 3.2). Обратите внимание на панель Показать только данного мастера. С ее помощью можно выполнить поиск среди файлов определенного расширения. Данная панель
Переключатели
Переключатели Приобретая офсетную тарелку, пользователь обычно желает получать сигнал с нескольких спутников с помощью одной антенны, то есть установить несколько конвертеров на одну антенну. Рассматривая тюнеры, можно заметить, что они имеют всего один вход для