Исходное дерево запроса
Исходное дерево для запроса представлено на рисунке 2.21
Рисунок 2.21- Исходное дерево запроса Расчет сложности запроса Расчет сложности исходного запроса приведен ниже.
, (2.1)
где - результат естественного соединения таблиц; - таблицы, участвующие в соединении; - псевдонимы, используемые вместо имен таблиц для сокращения записи; - операция естественного соединения.
, (2.2) (2.3)
где - число записей в таблице ; - число записей в таблице С; - число записей в таблице O; - число различных значений в столбце clientid таблицы Clients; - число различных значений в столбце clientid таблицы Orders.
, , , . , (2.4) , (2.5)
где - число блоков, записанных в таблице ; - длина одной записи таблицы в блоках; - длина одной записи таблицы в байтах; - размер одного блока. Очевидно, что
, (2.6) где - объем в байтах поля ; - объем в байтах поля ;
, , . . . . , (2.7) , , , , . (2.8) . Очевидно, что
, (2.9) , , , .
. . (2.10)
где - операция селекции с логической формулой . Формула имеет вид:
, (2.11) , , (2.12) .
Так как операция селекции не изменяет структуру таблицы, то
, . Так как операция проекции располагается последней, то ее не учитывают при расчете сложности запроса. Окончательно имеем:
, (2.13) .
2.1 2.2 2.3 2.3.1 2.3.1.1 2.3.1.2 2.3.1.3 2.3.1.4 Оптимизированное дерево запроса Оптимизированное дерево для запроса представлено на рисунке 2.22
Рисунок 2.22 - Оптимизированное дерево запроса
Текст оптимизированного запроса на языке SQL Текст оптимизированного запроса представлен на рисунке 2.23
Рисунок 2.23
Расчет сложности оптимизированного запроса Расчет сложности оптимизированного запроса приведен ниже.
, (2.14)
где - операция селекции с логической формулой . Формула имеет вид:
, (2.15) , , , (2.16) .
Так как операция селекции не изменяет структуру таблицы, то
, . , (2.17)
где - результат естественного соединения таблиц; - таблицы, участвующие в соединении; - псевдонимы, используемые вместо имен таблиц для сокращения записи; - операция естественного соединения.
, (2.18) (2.19) , , , . , (2.20) , (2.21)
где - число блоков, записанных в таблице ; - длина одной записи таблицы в блоках; - длина одной записи таблицы в байтах; - размер одного блока. Очевидно, что
, (2.22)
где - объем в байтах поля ; - объем в байтах поля ;
, , . . . . , (2.23) , , , , , (2.24) .
Очевидно, что
, (2.25) , , , . . .
Так как операция проекции располагается последней, то ее не учитывают при расчете сложности запроса. Окончательно имеем:
, (2.26)
Запрос на деление
Популярное: Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней... Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы... Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе... Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (183)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |