<
УЦ Контакт

Лидер IT образования

Как приятно знать, что ты что-то узнал (Мольер)

 
03056, Киев, пер. Ковальский 13, 1-й этаж, офис №2
 
Программы курсов

Акция! Студентам - Скидка 15%! Слушателям IT Academy бесплатное посещение English Club

Статья>>Курсы SQL server - намеки оптимизатору

Оптимизатор SQL Server на основе оценки стоимости динамически определяет стратегию обработки запроса, основанную на текущей структуре таблицы/индекса и данных. Это динамическое поведение может быть преодолено с помощью хинтов оптимизатора, забирая некоторые решения из рук оптимизатора и инструктируя его использовать определенную стратегию обработки. Это делает поведение оптимизатора статическим, и не позволяет ему динамически обновлять стратегию обработки при изменении структуры таблицы или индекса, а также изменения данных. Разработчикам не следует помещать хинты оптимизатора в свои коды. Они должны позволить оптимизатору SQL Server определять наилучший способ выполнения запроса и не пытаться навязать ему тот вариант, который они полагают лучшим. Часто разработчики испытывают желание обратиться к системным таблицам для поиска информации о базе данных. Поскольку эта практика не приносит никакого дополнительного прироста производительности, Microsoft постоянно заявляет, что они сохраняют за собой право изменять системные таблицы без предупреждения. Эта необъявленная возможность Microsoft может сделать любые разработанные пользователем хранимые процедуры или запросы неработающими после того, как будет установлен очередной сервиспак, фикс или выполнен переход к новой версии. Разработчикам следует воздерживаться от доступа к системным таблицам в промышленном коде. Microsoft реализует ряд представлений в стандарте ANSI на протяжении нескольких последних версий SQL Server, чтобы помочь разработчикам достичь их целей в получении информации из системных таблиц SQL Server, непосредственно не обращаясь к самим таблицам. Эти представления ANSI гарантировано будут работать при установке сервиспаков, фиксов и переходе на новую версию. Разработчики должны использовать эти представления ANSI всякий раз, когда им необходимо обратиться к системным объектам.