2.5.2.2 Текст запроса на языке SQL

q
2

q
1

product clients
clients orders
2.5.2.4 Расчет сложности запроса
Расчет сложности исходного запроса приведен ниже.

, (2.27)
где

- результат естественного соединения таблиц;

- таблицы, участвующие в соединении;

- псевдонимы, используемые вместо имен таблиц для сокращения записи;

- операция естественного соединения.

, (2.28)

(2.29)
где

- число записей в таблице

;

- число записей в таблице С;

- число записей в таблице O;

- число различных значений в столбце clientid таблицы Clients;

- число различных значений в столбце clientid таблицы Orders.

,

,

,

.

, (2.30)

, (2.31)
где

- число блоков, записанных в таблице

;

- длина одной записи таблицы

в блоках;

- длина одной записи таблицы

в байтах;

- размер одного блока.
Очевидно, что

, (2.32)
где

- объем в байтах поля

;

- объем в байтах поля

;

,

,

.

.

.

.

, (2.33)

,

,

,

,

. (2.34)

.
Очевидно, что

, (2.35)

,

,

,

.

.

.

(2.36)
где

- операция проекции из таблицы

атрибутов

.

.

.

,

,

.
Так как операция группировки является последней, то для нее не производится расчет сложности.
Окончательно имеем:

, (2.37)

2.5.2.5 птимизированное дерево запроса
Оптимизированное дерево запроса представлено на рисунке 2.25.

q
2