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

Интервал:

Закладка:

Сделать

Что индексировать

Величина времени, затрачиваемая на поиск во всей таблице, прямо пропорциональна количеству строк в таблице. Индекс для столбца может означать разницу между немедленным ответом на запрос и долгим ожиданием. Так почему бы не индексировать каждый столбец?

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

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

* условие поиска часто ссылается на столбец (Индекс поможет в поиске дат и чисел, когда ожидается прямое сравнение или вычисление BETWEEN. Поисковые индексы для строковых столбцов полезны, когда строки проверяются на точное соответствие или в предикатах STARTING WITH и CONTAINING. Они не годятся для предиката LIKE [52] В случаях, когда условие поиска задает LIKE ' string% ', оптимизатор обычно преобразовывает его к предикату STARTING WITH 1 string1 и использует индекс, если он доступен. .);

* столбец не включен в ограничение целостности, но на него часто ссылается условие в JOIN;

* предложение ORDER BY часто использует столбец для сортировки данных (Когда набор данных должен быть упорядочен по нескольким столбцам, составной индекс, соответствующий порядку, указанному в предложении ORDER BY, может увеличить скорость поиска [53] Составные индексы не являются столь важными в Firebird, как в большинстве других СУБД. Часто их использование является неоправданным, потому что Firebird интеллектуально использует индексы из одного столбца. .);

* вам нужен индекс со специфическими характеристиками, не предоставляемыми данными или существующими индексами, такими как недвоичная сортировка, убывающая или возрастающая упорядоченность;

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

Вы не должны использовать индексы для столбцов, которые:

* редко используются в условиях поиска;

* являются часто изменяемыми неключевыми значениями, такими как значение времени или идентификация пользователя;

* имеют небольшое количество возможных или фактических значений в большом количестве строк;

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

Когда индексировать

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

Преимущества отложенного проектирования индексов:

* уменьшение "завуалированное(tm) производительности", на которую может накладываться тестирование функциональной полноты;

* более быстрая идентификация реальных источников узких мест;

* исключение ненужного или неэффективного индексирования.

Использование CREATE INDEX

Оператор CREATE INDEX создает индекс из одного или более столбцов таблицы. Индекс из одного столбца отыскивает только один столбец в ответ на запрос, в то время как индекс из нескольких столбцов отыскивает один или более столбцов.

Синтаксис:

CREATE [UNIQUE] [ASC[ENDING] | DESC[ENDING]]

INDEX имя-индекса ON имя-таблицы (столбец [, столбец ...]);

Обязательные элементы

Обязательные элементы в синтаксисе CREATE INDEX следующие:

* CREATE INDEX имя-индекса - именует индекс. Идентификатор должен отличаться от идентификаторов всех других объектов базы данных за исключением идентификаторов ограничений и столбцов. Хорошая идея использовать систему имен объектов схемы, это также поможет лучшей документированности;

! ! !

ПРИМЕЧАНИЕ. Начиная с версии 1.5 и выше работает автоматическое именование индекса по имени его ограничения.

. ! .

* имя-таблицы- имя той таблицы, для которой создается индекс;

столбец [, столбец ...] - имя столбца или разделенный запятыми список имен столбцов, которые будут ключами индекса. Порядок столбцов значим для индексов. Более подробную информацию см. в разд. "Индексы из нескольких столбцов".

Пример

Следующее объявление создает неуникальный возрастающий индекс для столбца LAST_NAME (фамилия человека) в таблице PERSON. Он может быть полезным в условиях поиска типа WHERE LAST_NAME = 'Johnston' или WHERE LAST_NAME STARTING WITH 'Johns':

CREATE INDEX LAST_NAME_X ON PERSON(LAST_NAME);

Необязательные элементы

UNIQUE

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

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

Пример

В этом примере создается уникальный индекс для трех столбцов таблицы инвентаризации для гарантирования того, что система хранит не более одной строки для каждого размера и цвета элемента:

CREATE UNIQUE INDEX STK_SIZE_COLOR_UQX

ON STOCK_ITEM (PRODUCT_ID, SIZE, COLOR);

Заметьте, что уникальный индекс не является ключом. Если вам требуется уникальный ключ для ссылочных целей, используйте для этого ограничение UNIQUE для столбца (столбцов). Подробнее об использовании ограничения UNIQUE см. главу 16.

Поиск дубликатов

Конечно, невозможно создать уникальный индекс для столбца, который уже содержит дублирующие значения. Перед определением уникального индекса используйте оператор SELECT для поиска дублирующих элементов в таблице. Например, до создания уникального индекса для PRODUCT_NAME В таблице PRODUCT следующая проверка будет показывать любые дубликаты в этом столбце:

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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