Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ

Тут можно читать онлайн Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство БХВ-Петербург, год 2006. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
  • Автор:
  • Жанр:
  • Издательство:
    БХВ-Петербург
  • Год:
    2006
  • Город:
    Санкт-Петербург
  • ISBN:
    5-94157-609-9
  • Рейтинг:
    4/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Хелен Борри - Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ краткое содержание

Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - описание и краткое содержание, автор Хелен Борри, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Рассмотрены вопросы, необходимые разработчику для создания клиент-серверных приложений с использованием СУБД Firebird, явившейся развитием СУБД Borland Interbase 6. Содержится обзор концепций и моделей архитектуры клиент/сервер, а также практические рекомендации по работе с клиентскими библиотеками Firebird. Детально описаны особенности типов данных SQL, язык манипулирования данными (Data Manipulation Language, DML), а также синтаксис и операторы языка определения данных ( Data Definition Language, DDL). Большое внимание уделено описанию транзакций и приведены советы по их использованию при разработке приложений. Описано программирование на стороне клиента и сервера написание триггеров и хранимых процедур, создание и использование событий базы данных, обработка ошибок в коде на сервере и многое другое. Материал сопровождается многочисленными примерами, советами и практическими рекомендациями.

Для разработчиков баз данных

Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - читать онлайн бесплатно полную версию (весь текст целиком)

Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - читать книгу онлайн бесплатно, автор Хелен Борри
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

* с транзакции NOWAIT Firebird возвращает ошибку.

Информацию об установках блокировок транзакций см. в разд. "Разрешение блокировок" главы 26.

Изменение структуры индекса

В отличие от большинства операторов ALTER синтаксис ALTER INDEX не может быть использован для изменения структуры данного объекта. Для этого необходимо удалить индекс и заново его создать с использованием оператора CREATE INDEX.

Удаление индекса

Оператор DROP INDEX удаляет созданный пользователем индекс из базы данных.

Используйте DROP INDEX также в случае необходимости изменения структуры индекса: добавление, удаление сегментов, изменение порядка сегментов или изменение порядка сортировки. Вначале используйте оператор DROP INDEX для удаления индекса, затем - оператор CREATE INDEX для создания индекса с тем же именем и новыми характеристиками.

Синтаксис:

DROP INDEX ИМЯ;

Следующий оператор удаляет индекс из таблицы JOB:

DROP INDEX MINSALX;

Ограничения

Никакой пользователь не может удалить индекс, кроме его создателя, пользователя SYSDBA или (в POSIX) пользователя с привилегиями root.

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

Тема оптимизации: оптимальное индексирование

В отличие от многих других реляционных систем баз данных для Firebird не нужен администратор базы данных на полный рабочий день с арсеналом алгоритмов для поддержания нормального выполнения базы данных. Главным образом содержащиеся в порядке базы данных Firebird просто "сохраняются в прежнем состоянии".

Индексы - это значимая составная часть производительности базы данных. Важно понимать, что они являются динамическими структурами, которым, как и движущимся частям двигателя, нужны время от времени "чистка и смазка".

Этот раздел содержит некоторые указания по поддержанию ваших индексов в рабочем состоянии в полном объеме.

Действия по обслуживанию индексов

Индексы являются двоичными структурами, которые могут стать разбалансированными после многих изменений базы данных, особенно если вы пренебрегаете общим обслуживанием базы данных. Индексы могут быть сделаны сбалансированными [55] На самом деле индексы в Firebird и Interbase никогда не бывают "разбалансированными", т. е. глубина индекса всегда постоянна для всех листовых страниц. Соответственно, перестраивать индекс имеет смысл, когда он поврежден и когда требуется высокая скорость массовых вставок, удалений или обновлений. В реальных и больших базах данных плотность заполнения страниц индекса не опускается ниже 85%, независимо от числа дубликатов ключей. - Прим. науч. ред. множеством способов восстановления оптимального уровня производительности.

* Пересоздание индекса восстановит баланс его древовидной структуры за счет удаления устаревших записей, удаления и перемещения ветвей, созданных последовательными добавлениями данных. Инструментом для переключения индекса между активным и неактивным состояниями является оператор ALTER INDEX.

* Полное пересоздание индекса с нуля путем удаления и повторного создания в первоначальном виде может увеличить производительность индекса для очень большой или динамической таблицы.

* Восстановление базы данных из резервной копии gbak также пересоздает индекс в первоначальном состоянии.

Улучшение селективности индекса

Вообще говоря, селективность (избирательность) индекса - это оценочное количество строк, которые могут быть выбраны при поиске по каждому значению индекса. Уникальный индекс имеет максимально возможную селективность, потому что он не может выбрать более одной строки для каждого значения, в то время как индекс для столбца BOOLEAN имеет практически самую низкую селективность.

Индексирование столбца, который будет хранить преимущественно одно значение (например, страна рождения в предыдущем примере), будет худшим решением, чем не индексирование такого столбца совсем. Firebird достаточно эффективен при создании образа для неиндексированных сортировок и поисков.

Измерение селективности

Селективность уникального индекса равна I. Все неуникальные индексы имеют значение меньше 1. Селективность (s) вычисляется как [56] Изложенное понятие селективности обратно числам, реально используемым оптимизатором. Оптимизатор берет информацию о селективности из столбца RDB$STMTSTICS таблицы RDB$INDICES, который вычисляется по формуле 1/(число ключей - число повторяющихся ключей). Чем меньше это число, тем выше селективность индекса и тем полезнее он с точки зрения оптимизатора. Для уникальных индексов селективность стремится к нулю (зависит от числа ключей). Для неуникальных индексов худшим случаем является селективность, равная 1, когда все значения ключей идентичны. - Прим. науч. ред.

s = n / количество строк в таблице

где n- количество различных экземпляров значения индекса в таблице. Чем меньше количество отличающихся экземпляров, тем меньше селективность. Индексы с более высокой селективностью выполняются лучше, чем индексы с низкой селективностью.

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

Пересчет селективности

Пересчет селективности индекса изменяет статистический множитель, хранящийся в системных таблицах. Оптимизатор читает его один раз при выборе плана- он не является особенно значимым для его выбора. Часто большие операции DML не обязательно повреждают распределение различных значений ключа индекса. Если индексирование разумно, то "демография" распределения значений может изменяться очень незначительно.

Знание наиболее правильной селективности индекса имеет большое значение для разработчика. Это дает основу для определения полезности индекса.

Если эффективность плана со временем снижается по причине большого количества добавлений или изменений ключевого столбца (столбцов), которые изменяют распределение значений ключа, быстродействие запросов может постепенно снижаться. Любой индекс, чья селективность со временем резко падает, должен быть удален, потому что он влияет на производительность.

Работа с неконтролируемым индексом, который ухудшается по мере роста таблицы до того, как он начинает влиять на планы запросов, является важной частью настрой- ки базы данных. При этом большинство критических эффектов использования индекса с фактически низкой селективностью практически не влияют на оптимизатор и оказывают сильное воздействие на геометрию индекса [57] На оптимизатор в основном влияет то, что с течением времени если индекс меняется (меняются индексируемые данные), то статистика индекса остается неизменной, т. к. она меняется только вручную вызовом оператора SET STATISTICS. Поэтому вместо рекомендуемого здесь периодического пересоздания индексов лучше озаботиться регулярным пересчетом статистики индексов. - Прим. науч. ред. .

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Хелен Борри читать все книги автора по порядку

Хелен Борри - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ отзывы


Отзывы читателей о книге Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ, автор: Хелен Борри. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x