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

Интервал:

Закладка:

Сделать
Формирование двоичного образа потоков

Когда критерий соединения использует индексированный столбец, сервер Firebird генерирует двоичный образ каждого выбранного потока. Затем, используя логику И/ИЛИ в соответствии с критерием поиска, индивидуальные потоки двоичных образов строк объединяются в единый двоичный образ, который описывает все подходящие строки. Если запросу нужно сканировать один и тот же поток за множество проходов, сканирование двоичного образа выполняется гораздо быстрее, чем повторный просмотр индексов.

Двоичное представление языка

В основе обработчика SQL Firebird лежит его родной язык двоичного представления (Binary Language Representation, BLR) и интерпретатор, состоящий из лексического анализатора, синтаксического анализатора, таблицы символов и генератора кода. Обработчик DSQL и включенные приложения передают BLR оптимизатору, и именно BLR, а не строки анализирует оптимизатор. Может случиться такое, что два разных оператора SQL интерпретируются в идентичные BLR.

! ! !

СОВЕТ. Если вам любопытно, на что похож BLR, вы можете использовать инструмент qli (в каталоге Firebird bin) для просмотра операторов. Запустите qli и выдайте команду SET BLR для включения отображения BLR. Документ по qli в формате PDF может быть загружен с различных сайтов Firebird, в том числе с http://www.ibphoenix.com.

Если у вас есть операторы SELECT в хранимой процедуре или триггере, вы можете просмотреть их в isql, выдав команду SET BLOB 2 и выбрав столбец

RDB$PROCEDURE BLR из таблицы RDB$PROCEDURES.

. ! .

Соединения без индексов

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

Реки

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

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

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

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

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

Примеры планов

Многие графические инструменты администратора базы данных имеют средства для просмотра планов оптимизатора при подготовке оператора. Собственная утилита Firebird isql предоставляет две интерактивные команды для просмотра планов.

Просмотр планов в isql
SET PLAN

В интерактивной сессии isql вы можете использовать SET PLAN С необязательными ключевыми словами ON или OFF для переключения режима отображения плана в начале консольного вывода:

SQL>SET PLAN;

SQL>SELECT FIRST_NAMES, SURNAME FROM PERSON

CON>ORDER BY SURNAME;

PLAN (PERSON ORDER XA SURNAME)

FIRST NAMES

SURNAME

George Stephanie

Abraham Allen

SET STATS

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

SQL>SET STATS ON;

SQL> запускаете ваш запрос>

PLAN..

<���вывод>

Current memory = 728316

Delta memory = 61928

Max memory = 773416

Elapsed time =0.17 sec

Buffers = 2048

Reads = 15

Writes = 0

Fetches = 539

SET PLANONLY

Альтернативная команда переключателя SET PLANONLY [ON | OFF] подготавливает оператор и отображает план без выполнения запроса:

SQL>SET PLAN OFF;

SQL>SET PLANONLY ON;

SQL>SELECT FIRST_NAMES, SURNAME FROM PERSON

CON>ORDER BY SURNAME;

PLAN (PERSON ORDER XA_SURNAME)

Если вы собираетесь использовать план оптимизатора в качестве стартовой точки для конструирования пользовательского предложения PLAN, то имейте в виду, что синтаксис выводимого выражения идентичен требуемому синтаксису для выражения плана в операторе [80] Многие аспекты плана, сконструированного внутренне оптимизатором, не видны в плане, показанном в isql и недоступны через синтаксис предложения PLAN для пользовательских планов. Синтаксис показывает только подмножество реального плана, которому будет следовать сервер при выполнении запроса. . Неудобным является то, что в isql не существует возможности выводить план оптимизатора в текстовый файл.

! ! !

СОВЕТ. Графические инструменты, которые отображают планы, обычно предоставляют средства копирования/вставки.

. ! .

Следующие примеры используют запросы, которые вы сами можете проверить, используя тестовую базу данных employee.fdb, инсталлированную в ваш каталог примеров [81] Поскольку база данных примера не имеет таблиц без индексов, некоторые примеры в этом разделе используют специально описанные неиндексированные версии таблиц EMPLOYEE, PROJECT и DEPARTMENT, названные EMPLOYEE1, PROJECT1 и Departments соответственно. Скрипт с именем NO_INDEXES.SQL для создания этих таблиц может быт загружен с http://www.apress.com. .

Простейший запрос

Этот запрос просто отыскивает все строки из таблицы соответствия в произвольном порядке. Хотя оптимизатор определяет наличие индекса (индекс первичного ключа), он его не использует для поиска:

SQL>SET PLANONLY ON;

SQL> SELECT * FROM COUNTRY;

PLAN (COUNTRY NATURAL)

Упорядоченный запрос

Это все еще простой запрос без соединений:

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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