Delphi 3 и создание приложений баз данных

         

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


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

SELECT RASHOD.*, TOVARY.ZENA

FROM RASHOD, TOVARY

WHERE RASHOD.TOVAR = TOVARY.TOVAR

PLAN JOIN (RASHOD NATURAL,TOVARY INDEX (RDB$PRIMARY8))

NRASH

DATRASH

KOLVO

TOVAR

POKUP ZENA


2

10-JAN-1997

20

Сахар

Лира, ТОО 4

3

10-JAN-1997

509

Сахар

<null> 4

4

10-JAN-1997

3000

Ставрида консерв.

Адмирал, АО 5

5

10-JAN-1997

4000

Кока-кола

Саяны, ИЧП 3

6

20-JAN-1997

30

Сахар

Саяны, ИЧП 4

7

20-JAN-1997

20

Кока-кола

<null> 3

8

20-JAN-1997

1000

Кока-кола

Адмирал, АО 3

1

10-JAN-1997

100

Кока-кола

Адмирал, АО 3

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

PLAN <план выполнения_запроса>

< план выполнения запроса > =

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

[, < элемент плана > I < план выполнения запроса > . . . ] )

<элемент_плана> = {таблица | алиас}

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

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

<элемент_плана>

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

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

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

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



Содержание раздела