Всех приветствую. Выкладываю материалы с прошедшей конференции SQL Rally. Тема моего доклада оконные функции в SQL Server. В докладе были рассмотрены основные концепции (partitioning, ordering, framing), сделан обзор существовавших и появившихся функций в SQL Server 2012, а также приведены сведения о планах выполнения и производительности запросов с оконными функциями. SQLRally2013.Moscow.WindowFuctions.DmitryPilugin (~1.52 MB) Спасибо всем участникам
24 HOP Columnstore Indexes
Вот и прошла глобальная on-line конференция 24 Hours of PASS Russia. В этом году, я первый раз принимал в ней участие в качестве докладчика, выступая с докладом про новую технологию Columnstore Indexes в SQL Server 2012. К сожалению, я не смог присутствовать на всех докладах коллег, но те что удалось посмотреть оставили только положительные впечатления.
Недокументированная команда dbcc csindex
По мере подготовки докладов на тему Columnstore индексов наткнулся на интересную недокументированную команду dbcc csindex. Никакой информации по ней нашел, по этому поделюсь тем что удалось выяснить самому.
Оптимизатор без границ (ч.2)
Продолжаем отключать внутренние пороги оптимизатора. В первой части были приведены общие теоретические сведения (на которые я буду ссылаться, по этому, рекомендую их просмотреть, если еще не успели), а так же представлен флаг трассировки 8780 который устанавливает timeout в очень большое число, фактически отключая его. Осталось несколько других механизмов управляющих тем, когда происходит оптимизация и
Оптимизатор без границ (ч.1)
На недавнем мероприятии SQL Saturday 178, мне задали вопрос, можно ли сделать так, чтобы оптимизатор не прекращал оптимизацию, когда посчитает что уже нашел хороший план или наступит таймаут, а исследовал все альтернативы. Я ответил, что документированных средств нет, либо я о таких не знаю. И это действительно так, однако, возможно есть какие-то недокументированные флаги трассировки,
SQL Saturday #178 Moscow – Inside Query Optimizer
Всем добрый день, как и обещал, выкладываю материалы своего доклада на SQL Saturday. Выражаю благодарность всем организаторам, на мой взгляд все прошло хорошо (несмотря на проверку пожарной безопасности =)). К сожалению, не смог присутствовать на всех докладах, на которых хотелось бы, но там где присутствовал — было здорово. И самое главное, спасибо всем пришедшим, без
isnumeric selectivity estimation bug (en)
Some time ago on one of the forums there was a question, about why adding to the query where clause a condition «isnumeric(column)=0», makes query very slow. I did some investigations and that lead me to some interesting results.
Ошибка вычисления селективности для предикатов с isnumeric
Недавно на одном из форумов был задан вопрос о том, почему при добавлении в запрос условия isnumeric(column)=0, запрос начинает выполняться очень медленно. Изучение этой ситуации привело к интересным результатам.
RowGoal и неравномерное распределенных данных
На написание этой заметки меня подвиг доклад Алексея Эксаревского на 24 hours of PASS про наиболее часты причины ошибок в оценке кардинальности. Те, кто не видел этот доклад могут ознакомиться с ним на techdays. Алексей рассказывает о возможных причинах неправильных оценок кардинальности (или количества строк), из-за чего оптимизатор выбирает неудачный план запроса. Наиболее интересным и
Оптимизатор (недокументированное): Отключить правила преобразования в отдельном запросе
Многие, кто интересуется внутренним устройством оптимизатора, уже наверняка знают, что такое правила преобразования и то, что их можно отключить в сессии при помощи dbcc ruleoff/ruleon. В этой короткой заметке мы посмотрим на недокументированный хинт, который позволяет отключать правила преобразования в отдельно взятом запросе. Прим: Те, кто не знают про правила преобразования, но интересуются, могут обратиться