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

       

У технологии оценочной оптимизации запросов


У технологии оценочной оптимизации запросов все еще имеется простор для роста, например, для лучшего учета тех ситуаций, когда поведение данных отличается от того, которое предполагается в модели. Во многих оптимизаторах недостаточно правильно моделируются данные, обладающие высоким уровнем корреляции. Например, во всей Калифорнии используется почтовый индекс 90210. Значения почтового индекса не распределены по штатам равномерно, и ни в каком другом штате США код 90210 не используется. Указание в пользовательском запросе значения почтового индекса, равного 90210, является достаточным, и применение дополнительного предиката, такого как «название штата – это Калифорния», не изменяет результат. Это не приведет к сокращению числа строк, потому что единственным штатом с почтовым индексом 90210 является Калифорния.

ДГ: Одним из врагов промышленной оптимизации запросов является сложность, и это может иногда приводить к отсутствию устойчивости планов выполнения запросов. Небольшие изменения в запросах или запрашиваемых данных могут приводить к существенно разным планам. Потребители часто просят меня обеспечить хороший стабильный план, а не близкий к оптимальному план, который часто изменяется непредсказуемым образом. В каких направлениях нам следует работать для решения проблемы соотношения оптимальности и устойчивости планов запросов?

ПС: Я думаю, что нам следует подходить к решению этой проблемы с двух сторон. Во-первых, нужно иметь возможность выполнять запросы в соответствии с хорошими планами, а в течение выполнения плана нужно отслеживать ситуации, в которых реальные данные отклоняются от того, что ожидалось. Если вы ожидали получить пять строк, а получили миллион строк, то можно заподозрить, что текущий план не очень хорош, потому что он был выбран на основе предположения о наличии пяти строк. Поэтому возможность коррекции плана во время его выполнения входит в число задач совершенствования оптимизаторов, которые стремится решить IBM.


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