Главная » Просмотр файлов » Введение в системы БД

Введение в системы БД (542480), страница 165

Файл №542480 Введение в системы БД (Введение в системы БД) 165 страницаВведение в системы БД (542480) страница 1652015-08-16СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 165)

Для каждой низкоуровневой операции (а также, возможно, для нескольких часто встречающихся комбинаций подобных операций) оптимизатор имеет набор низкоуровневых процедур реализации. Например, существует набор процедур для реализации операции выборки: по условию равенства определенному значению потенциального 645 Глава 17. Оптимизация ключа; на основе инлексированного атрибута, по которому выполняется выборка; на основе хешированного атрибута и т.д. Примеры таких процедур приведены ниже, в разделе 17.7 (см, также [! 7.8)-[17.14]). С каждой процедурой связана и параметризованная формула стоимости, позволяющая оценить стоииосшь выполнения процедуры (т.е. уровень затрат, требуемых для ее выполнения). Чаще всего стоимость определяется на основе подсчета количества необходимых дисковых операций ввода-вывода, но некоторые системы учитывают также время использования процессора и другие факторы.

Эти формулы стоимости применяются на стадии 4. В [17.8) — [17.14) обсуждаются и анализируются формулы стоимости для различных процедур реализации при разных исходных предположениях. Далее, используя сохраняемую в каталоге информацию о состоянии базы данных (существующие индексы, текущую кардинальность переменных-отношений и т,п.) и сведения о взаимозависимостях, упоминавшихся выше, оптимизатор выбирает одну или несколько процедур-кандидатов для каждой низкоуровневой операции в запросе. Этот процесс обычно называют выбором пути доступа (см.

также [17.34), [! 7.35)). Заиечание. Следует отметить, что в [17.34), [! 7.35) приведенный термин используется для ссылки на определенные в данной главе стадии 3 и 4, а не только на стадию 3. Действительно, на практике очень трудно разграничить, где заканчивается одна стадия и начинается другая: просто стадия 3 плавно переходит в стадию 4. Стадия 4. Генерация различных вариантов планов вычисления запроса и выбор плана с минимальными затратами На последней стадии процесса оптимизации создается набор потенциальных планов запроса, после чего следует выбор лучшего (т.е.

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

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

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

Так как все запросы, за исключением самых простых, требуют создания некоторых промежуточных ре- 646 Часть г'. Дополнительные аспекты зультатов выполнения, оптимизатор должен суметь оценить размер этих результатов и использовать полученные значения при вычислении формул стоимости. К сожалению, размеры промежуточных наборов данных сильно зависит от конкретных значений хранимых данных, поэтому точная оценка стоимости может оказаться достаточно сложной проблемой. В [!7.3], [!7.4] обсуждаются некоторые подходы к решению этой проблемы и приводятся ссылки на другие направления исследований. 17.4.

Преобразование выражений В этом разделе обсуждаются правила преобразования, которые могут оказаться полезными на стадии 2 процесса оптимизации. Подбор примеров и выяснение, чем именно эти правила могут быть полезны при оптимизации, оставляются в качестве упражнений для читателя. Конечно, читатель должен понимать, что в результате применения к какому-либо выражению одного правила преобразования может быть получено выражение, к которому применимо другое правило преобразования.

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

(В этом смысле очень важным случаем является обработка представлений. Например, рассмотрим запрос "Выбрать все названия городов в представлении Ч", где представление Ч определено как проекция переменной-отношения поставщиков по атрибутам Н]) и С1гз.) Иначе говоря, начиная с исходного выражения, оптимизатор будет шаг за шагом применять различные правила преобразования до тех пор, пока не будет получено выражение, которое согласно встроенным в оптимизатор эвристическим правилам будет считаться "оптимальным" лля рассматриваемого запроса.

Выборки и проекции Начнем с правил преобразования, которые включают только операции выборки и проекции. !. Последовательность операций выборки из одного и того же отношения может быть заменена единственной операцией выборки из этого отношения (причем условные выражения всех исходных операций с помошью операций АНР объединяются в одно условное выражение). Например, выражение ( а ИНЕЕЕ <виборка1> ) ИНЕНЕ <виборка2> эквивалентно выражению й ИНЕНЕ <виборка1> АКР <виборка2> 2. В последовательности операций проекций для одного и того же отношения можно игнорировать все проекции, кроме последней. Таким образом, выражение ( а ( <лроекция1> ) ) ( <проекция2> ) эквивалентно выражению а ( <цроекция2> ) 647 Глава 1 7.

Оптимизация Конечно, чтобы исходное выражение имело смысл, каждый атрибут, присутствуюшнй в проекции <проекцля2>, обязательно должен присутствовать и в проекции <проекция!>. 3. Операцию выборки из результата операции проекции можно преобразовать в операцию проекции для результата операции выборки. Например, выражение ( а ( <проекция> ) ) ИНЕНЕ <вяборка> эквивалентно выражению ( л МНЕНЕ <либорка> ) ( <проекцля> ) Обратите внимание, что, как правило, операцию выборки целесообразно выполнять перед операцией проекции, поскольку операция выборки обычно приводит к уменьшению объема тех данных, которые будут являться входными для операции проекции. Слеловательно, в этом случае уменьшается количество данных, которые потребуется сортировать для исключения возможных дублирующихся записей, образующихся в процессе выполнения операции проекции.

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

1 ( А О В ) ж 1 ( А ) О 1 ( В ) Например, в обычной арифметике операция НОНА (извлечение квадратного корня) распределяется по операции умножения, так как для всех А и В выполняется приведенное ниже тождество. ЯННТ ( А Я В ) и ЯЯНТ ( А ] * ВАНТ ( В ) Следовательно, выполняя преобразование выражений, оптимизатор арифметических выражений всегда может заменить одну часть этого равенства другой. В качестве обратного примера можно привести утверждение, что операция Я()НТ не распределяется по операции сложения, так как в большинстве случаев квадратный корень из суммы А + В не равен сумме квадратных корней из А и В. В реляционной алгебре операция выборки распределяется по операциям объединения, пересечения и вычитания. Она также распределяется по операции соединения, но лишь тогда и только тогда, когда условие операции выборки состоит (в самом сложном случае) из двух отдельных условий, соединенных операцией АМ — по одному условию выборки для каждого операнда операции соединения.

Характеристики

Тип файла
DJVU-файл
Размер
10,05 Mb
Тип материала
Предмет
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6447
Авторов
на СтудИзбе
306
Средний доход
с одного платного файла
Обучение Подробнее