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

       

Как справиться с высокой неопределенностью


Гиперболическое распределение оценок делает явной высокую неопределенность и, таким образом, объясняет наблюдавшуюся нами нестабильность традиционной стоимостной модели. Действительно, область селективности/стоимости вблизи средней точки гиперболы будет покрывать реальные показатели селективности/стоимости с той же вероятностью, что и ограниченная область вблизи нуля и широкая область, простирающаяся к правому концу. Наличие этих экстремумов серьезно уменьшает достоверность традиционной стоимостной модели с одним значением (средней точкой). Аналогичные результаты экспоненциального распространения ошибки для n-сторонних соединений изложены в [IoCh91].

«Быстрое» решение для компенсации этого фундаментального ограничения оптимизатора предлагается многими поставщиками в форме средств ручной оптимизации, которые позволяют перекрыть решение оптимизатора планом выполнения, определенным пользователем. В Rdb теперь имеется аналогичное средство, называемое «query outline». В отличие от других средств ручной оптимизации, query outline допускает любые общие рекомендации по поводу желаемого плана выполнения и использует те из них, которые являются пригодными.

В query outline учитываются следующие пользовательские спецификации:

  1. полный или частичный порядок соединений;
  2. стратегии соединений и выборки;
  3. набор индексов, из которых следует выбирать кандидата для выборки.

Спецификации являются опциональными; любые неспецифицированные части плана вычисляются с использованием обычной процедуры оптимизации. Такая гибкость спецификаций query outline ускоряет и упрощает ручную оптимизацию. Сохранение частичных рекомендаций продлевает применимость и полезность query outline в случае модификации SQL-схемы.

Однако истинно удовлетворительным решением для ненадежной оптимизации является автоматическая оптимизация запросов, способная к эффективному устранению неопределенности оценок. Здесь первая задача состоит в том, чтобы отделить части выражения запроса с достаточно точными оценками от областей неопределенности.

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