Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Неделя 11 Лекция 1 (16).doc
Скачиваний:
1
Добавлен:
13.11.2019
Размер:
120.32 Кб
Скачать

16.3.6. Просмотр плана выполнения запросов.

При выполнении запросов к базе данных в утилите WISQL установим режим показа плана выполнения запроса (выбрав элемент меню Session | Basic Settings и отметив режим Display Query Plan). Тогда при выполнении запросов будет выводиться и план их выполнения. Под планом выполнения запроса понимается перечень индексов, используемых InterBase при выполнении запроса. Слово NATURAL означает последовательный перебор таблицы.

Для принудительного выполнения запроса по тому или иному плану, следует в операторе SELECT использовать предложение

PLAN <план _выполнения_запроса> = [JOIN | [SORT] MERGE]

(<элемент_плана> | <план _выполнения_запроса> [, <элемент_плана> |

<план _выполнения_запроса> ...]) <элемент_плана> = {таблица | псевд.}

NATURAL | INDEX (<индекс> [, <индекс> ...]) | ORDER <индекс>

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

<элемент_плана> – является именем таблицы, в которой производится поиск данных. В том случае, если одна и та же таблица несколько раз участвует в запросе, для сокращения текста плана полезно использовать ее псевдоним, то есть обозначение, указываемое в предложении FROM после имени таблицы. Следующие ключевые слова определяют способ доступа к данным.

NATURAL (по умолчанию) – указывает, что для поиска записей применяется последовательный доступ. Это единственный способ поиска записей в том случае, если нет подходящих индексов.

INDEX – указывает один или несколько индексов, которые должны использоваться для поиска записей, удовлетворяющих условию запроса.

ORDER – указывает, что <элемент_плана> должен быть отсортирован по указанному индексу.

16.4. Оптимизация клиентских приложений.

От того, каким образом организуется доступ к удаленной базе данных, во многом зависит, насколько эффективно будет работать с ней данное приложение. Далее будем считать, что клиентские приложения написаны в среде быстрой разработки приложений Delphi или CBilder.

16.4.1. Минимизация соединения с базой данных.

Для соединения с удаленной базой данных в клиентских Delphi-приложениях используется компонент TDatabase. Он служит для:

  • создания постоянного соединения с базой данных;

  • создания локального псевдонима базы данных;

  • изменения параметров соединения, установленных для псевдонима базы данных (в утилите BDE Administrator);

  • управления транзакциями.

Если не использовать компонент TDatabase, то соединение с базой данных может, в принципе, осуществлять каждый компонент типа "набор данных" (TTable, TQuery, TStoredProc). Однако следует помнить, что каждое соединение с базой данных потребляет системные ресурсы и их чрезмерный расход может сказаться на эффективности доступа к базе данных. Кроме того, при соединении с удаленной базой данных "напрямую", из компонентов типа "набор данных", невозможно изменять предустановленные параметры соединения.

Поэтому рекомендуется уменьшать число соединений с удаленной базой данных к минимуму, а в идеале – иметь одно соединение с каждой базой данных.