В Rdb выборки из таблиц
В Rdb выборки из таблиц и индексов контроллируются динамическим оптимизатором на трех фазах:
- Начальная фаза – производятся недорогие вычисления и оценки индекса, следущие из начальной конкуренции, или организуется однопотоковое выполнение.
- Фаза сканирования индекса – сложный механизм, включающий несколько совместных и конкурирующих стратегий, поставляющий запрошенные записи и/или список ID записей или принимающий решение о последовательной выборке из таблицы.
- Завершающая фаза – производятся непереключаемые чтения записей либо по списку ID записей, либо последовательно.
Подробное описание этой архитектуры можно найти в [Ant91] и [Ant93]. Динамическая архитектура как часть продукта представлена в [HoEn91]. На фазе сканирования индекса одновременно имеют место несколько разновидностей конкуренции, в которую вовлекается до трех индексов. Намерение быстрой доставки записей может конкурировать с построением списка ID записей. Последовательность обработки индекса может изменяться в ходе прямой конкуренции. Сканирование некоторых индексов может быть прекращено при двухфазной конкуренции за наиболее дешевую завершающую фазу. Сканирование индекса может конкурировать с уже обнаруженной полной стратегией выборки.
Несмотря на новизну и исключительную изощренность динамической концепции, в сообществе пользователей Rdb приняли ее очень быстро и предложили много соображений по ее дальнейшему совершествованию. Например, многие пользователи просили обеспечить новый вид конкуренции между индексной выборкой с обеспечением желаемого порядка сортировки и выборки через список ID записей с последующей сортировкой. Но больше всего поддержки получило то, что, анализируя ситуации многих заказчиков, мы обнаружили почти все возможные комбинации динамических переключений, ведущие к улучшению производительности. Поскольку все реализованные виды конкуренции настраивались на гиперболическое распределение стоимости, согласованное наличие и многообразие перключателей явно показывает преобладание гиперболического распределения.
Содержание Назад Вперед