Соответствующие примеры приводятся по ходу
Соответствующие примеры приводятся по ходу статьи, и в разд. 7.2 последний из затронутых вопросов обсуждается более подробно.
В четвертых, оптимизаторы в продуктах должны моделировать и производить выбор на основе широкого репертуара стратегий выполнения, каждая из которых может быть оптимальной для некоторого запроса. В этой статье мы сосредотачиваемся на этих стратегиях, выделяя некоторые необычные или не слишком известные особенности семейства реляционных СУБД IBM DB2.
Последнее и, возможно, наиболее важное требование к оптимизаторам в продуктах состоит в том, что они должны быть чувствительными к изменениям требований клиентов, не воздействуя на существующие приложения. DB2 для MVS – это зрелый продукт с тысячами лицензий на многопользовательских системах, многие из которых поддерживают тысячи пользователей. Приложения, выполняющиеся на DB2 для MVS, часто являются «хлебом и маслом» обработки информации в компаниях Fortune 500. При каждом новом выпуске продукта заказчики ожидают только улучшений (без деградации эффективности какого бы то ни было плана). В DB2 для MVS имеется тенденция к реализации стратегий оптимизации, которые в большинстве случаев принимают подходящий путь доступа, а не рискуют применить менее понятные пути доступа, которые труднее точно моделировать. Грубо говоря, применяется правило «99-1», означающее, что свойство, которое, как ожидается, положительно скажется на 99% запросов, но может привести к деградации 1% запросов, не включается в продукт.
В высоко конкурентном мире рабочих станций DB2/* пользователи требуют большей функциональности, в частности, объектно-ориентированных возможностей, таких как определяемые пользователями типы и функции, бинарные большие объекты (BLOB), ограничения, триггеры и параллельное выполнение. Кроме возможностей «индустриального уровня», заказчики ожидают от DB2/* быстрого появления новых возможностей, согласующихся с промышленными стандартами, такими как недавно опубликованный стандарт ANSI SQL92 и развивающийся стандарт ANSI SQL3.Поэтому в DB2/* активно внедряются новые функциональные возможности, и прилагаются все усилия к сохранению лидирующей производительности.
Содержание Назад Вперед