(Возврат на основную страницу)
Определение положения аргументов поиска в соединении. Часть 2
Кимберли Трипп (Kimberly L. Tripp)
Повествование о двух индексных подсказках
Пол Уайт (Paul White)
Распространенные мифы о SQL Server. Часть 1
Пол С. Рендал (Paul S. Randal)
Определение положения аргументов поиска в соединении. Часть 2
Кимберли Трипп (Kimberly L. Tripp)
Данная статья написана в продолжение обсуждения моей первой статьи под названием
«Определение положения аргументов поиска в соединении» (см. журнал «SQL Server
для разработчиков и администраторов» за октябрь 2010 года), где я отвечала на
вопрос читателя о том, могли ли быть аргументы поиска перемещены в выражение
FROM, вместо размещения их в секции WHERE, и могло ли это повлиять на
производительность. Пока я акцентировала свое внимание на создания сценария для
выявления проблем, я упустила из виду важный момент, имевший место в моем
собственном примере. Фил Бреммер (Phil Brammer), SQL Server MVP, отметил этот
момент, что дало почву
очень жаркому обсуждению на форуме SQL Server MVP. В результате, я подумала, что
потрачу несколько минут на подготовку еще нескольких примеров и отметку пары
ключевых моментов. Самым важным из этого является то, что аргументы поиска не
должны перемещаться из WHERE в FROM, если вы не имеете точного представления о
том, что делаете — этим вы окончательно можете изменить смысл запроса… Позвольте
мне объяснить.
Повествование о двух индексных подсказках
Пол Уайт (Paul White)
Заглянув в
таблицу подсказок в Books Online, вы найдете следующие утверждения: Если имеется
кластерный индекс, INDEX(0) принудительно вызывает сканирование кластерного
индекса, INDEX(1) принудительно вызывает сканирование кластерного индекса или
поиск.
Если не существует кластерного индекса, INDEX(0) принудительно вызывает
сканирование таблицы, и INDEX(1) интерпретируется как ошибка. Интересно, что обе
подсказки (hints или хинты) могут привести к сканированию. В таком случае, вы
можете задаться вопросом, есть ли между ними существенное различие. Эта статья
исследует данный вопрос и показывает в истинном свете задумку оптимизатора,
которая может в результате привести к намного менее эффективному плану
выполнения запроса при использовании INDEX(0). Я также приведу некоторый
материал о гарантиях.
Распространенные мифы о SQL Server.
Часть 1
Пол С. Рендал (Paul S. Randal)
В апреле 2010
года у меня родилась идея написать серию статей «Миф дня администратора баз
данных» с целью развеять мифы и заблуждения относительно SQL Server и методов
его работы. Увлекшись, я посвятил несколько более поздних статей десяткам мифов
на эту тему.
Несмотря на множество просьб собрать все эти статьи воедино, я никак не находил
время на это. Выражаю благодарность Петеру Малуфу (Peter Maloof) за помощь в
создании подборки статей. Надеюсь, эта серия статей поможет вам в ваших трудах —
наслаждайтесь!
(Возврат на основную страницу)