Классика баз данных - статьи

       

Оптимизация параллельных запросов


Существующие оптимизаторы запросов к базам данных при оптимизации реляционного запроса не рассматривают все возможные планы. Несмотря на то, что стоимостные модели для реляционных запросов, выполняемых на одном процессоре, детально разработаны [27], они по-прежнему зависят от оценок стоимости, которые можно производить весьма и весьма приблизительно. В некоторых системах выбор между несколькими планами производится динамически во время выполнения в зависимости, например, от объема реально доступной физической памяти и мощности промежуточных результатов [15]. В настоящее время ни один оптимизатор запросов не учитывает все параллельные алгоритмы для каждой операции и все возможные организации дерева запросов. Исследования в этой области еще не завершены.

Другая задача оптимизации касается сильно скошенных распределений значений. Перекос данных может привести к значительным отклонениям в размере промежуточных отношений, что приводит к черезчур грубым оценкам стоимости плана запросов и ускорению хуже линейного. Сейчас идет активный поиск решения этой проблемы [17, 20, 37, 38].



Содержание  Назад  Вперед