УДК 004.65
Ю. А. Г р и г о р ь е в, С. П. О с т р и к о в
ОЦЕНКА ВРЕМЕНИ ВЫПОЛНЕНИЯ ЗАПРОСОВ
С КОРРЕЛИРОВАННЫМИ ПОДЗАПРОСАМИ
И ОПЕРАЦИЯМИ АГРЕГИРОВАНИЯ
Предложен подход к построению альтернативных планов выпол-
нения запросов с многоуровневыми вложенными коррелированными
подзапросами и операциями агрегирования. Дана оценка временн ´ым
характеристикам этих планов и рекомендации по выбору того или
иного плана в зависимости от параметров запросов и наполнения
базы данных.
В настоящее время в различных информационных системах (ИС)
используются системы управления базами данных (СУБД), поддержи-
вающие реляционную модель данных. Для описания и манипулирова-
ния данными применяется стандартный язык
SQL
, который относится
к классу непроцедурных языков.
SQL
-запрос, поступивший на сер-
вер базы, подвергается оптимизации в целях уменьшения времени его
выполнения. Суть оптимизации состоит в генерации нескольких аль-
тернативных планов реализации запроса и выборе плана с наимень-
шей стоимостью, пропорциональной времени выполнения запроса. В
теории реляционных баз данных наибольшее внимание уделяется по-
строению оптимального плана для класса запросов, включающих опе-
рации соединения таблиц или имеющих конструкции, которые можно
свести к соединению [1, 2]. В теории по существу не рассматривает-
ся важный класс запросов с многоуровневыми вложенными коррели-
рованными подзапросами и операциями агрегирования. В некоторых
публикациях [3, 4] в основном анализируются запросы с двумя корре-
лированными подзапросами (один из них внешний) и необоснованно
утверждается, что для них оптимальным является план с группиро-
ванием значений атрибута связи. При этом расчет стоимости и срав-
нение альтернативных планов не выполняются. Это приводит к тому,
что во многих СУБД (
Oracle
,
DB
2 и др.) для реализации запросов
из указанного класса используются планы, основанные на операции
группирования. В результате анализа выявили, что эти планы являют-
ся оптимальными только в некоторой области изменения параметров
запросов и наполнения базы данных, т.е. часто для реализации запро-
са в СУБД выбирается неоптимальный план. Поэтому важной явля-
ется задача генерации альтернативных планов выполнения запросов
с многоуровневыми вложенными коррелированными подзапросами и
операциями агрегирования, оценки стоимости планов и построения
областей их предпочтительного использования.
ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. “Приборостроение”. 2006. № 1 99