Заметки Дмитрия Пилюгина о Microsoft SQL Server 

Twitter RSS
Home Articles posted by Dmitry Pilugin (Page 2)
formats

Good Enough Plan

Когда-то, я уже писал заметки на тему факторов, ограничивающих процесс оптимизации, с целью сократить его время. Это timeout и good enough plan. Особенно подробно я расписывал концепцию таймаута, сегодня я хочу рассказать про «good enough plan». Я начну с одной любопытной, на мой взгляд, истории, которую слышал от одного из членов команды разработки оптимизатора на

Read More…

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
Комментарии к записи Good Enough Plan отключены  comments 
formats

Cardinality Estimation Framework 2014 First Look

Введение На прошедшем мероприятии SQLSaturday #261 — Moscow 2013 я рассказывал о том, как оптимизатор оценивает предполагаемое число строк и на основании этого строит план запроса. Иными словами я говорил про оценки кардинальности, и разумеется, не смог обойти вниманием новую версию механизма оценки кардинальности в SQL Server 2014. What’s New (Database Engine) Информации на эту

Read More…

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
Комментарии к записи Cardinality Estimation Framework 2014 First Look отключены  comments 
formats

Sql Server 2014 CTP Columnstore

Вашему вниманию представляется обзорный доклад на тему колоночных индексов в SQL Server 2014 CTP2. Доклад касается CTP, т.е preview — и к релизу, что-то может измениться.    

 
Теги:
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
Комментарии к записи Sql Server 2014 CTP Columnstore отключены  comments 
formats

Забавный случай упрощения соединений 2

Продолжая разговор, об упрощении дерева запроса, начатый в предыдущем посте, рассмотрим еще один интересный случай упрощения.

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
Комментарии к записи Забавный случай упрощения соединений 2 отключены  comments 
formats

Забавный случай упрощения соединений

Недавно, просматривая план запроса, я обратил внимание, что в одной ветке плана таблицы соединяются при помощи Nested Loops Join (NL), хотя логичнее было бы видеть там Merge Join (SM). Я решил разобраться, почему так происходит и наткнулся на интересную особенность оптимизатора.

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
Комментарии к записи Забавный случай упрощения соединений отключены  comments 
formats

Columnstore Batch Execution и Compute Scalar

На прошедшей конференции 24HOP Russia я рассказывал о Columnstore индексах и оптимизаторе запросов. К сожалению, мне не хватило времени поделиться всеми интересными примерами, и в этой заметке я расскажу об одном любопытном случае, который влияет на производительность запроса и Columnstore индекса.

 
formats

SQL Rally 2013 Moscow — Window Functions

Всех приветствую. Выкладываю материалы с прошедшей конференции SQL Rally. Тема моего доклада оконные функции в SQL Server. В докладе были рассмотрены основные концепции (partitioning, ordering, framing), сделан обзор существовавших и появившихся функций в SQL Server 2012, а также приведены сведения о планах выполнения и производительности запросов с оконными функциями. SQLRally2013.Moscow.WindowFuctions.DmitryPilugin (~1.52 MB) Спасибо всем участникам

Read More…

 
formats

24 HOP Columnstore Indexes

Вот и прошла глобальная on-line конференция 24 Hours of PASS Russia. В этом году, я первый раз принимал в ней участие в качестве докладчика, выступая с докладом про новую технологию Columnstore Indexes в SQL Server 2012. К сожалению, я не смог присутствовать на всех докладах коллег, но те что удалось посмотреть оставили только положительные впечатления.

Read More…

 
formats

Недокументированная команда dbcc csindex

По мере подготовки докладов на тему Columnstore индексов наткнулся на интересную недокументированную команду dbcc csindex. Никакой информации по ней нашел, по этому поделюсь тем что удалось выяснить самому.

 
formats

Оптимизатор без границ (ч.2)

Продолжаем отключать внутренние пороги оптимизатора. В первой части были приведены общие теоретические сведения (на которые я буду ссылаться, по этому, рекомендую их просмотреть, если еще не успели), а так же представлен флаг трассировки 8780 который устанавливает timeout в очень большое число, фактически отключая его.   Осталось несколько других механизмов управляющих тем, когда происходит оптимизация и

Read More…