SomewhereSomehow's SQL Server notes 

Twitter RSS
magnify
magnify
formats

Оконные функции и row goal

blogpost_min

В этой заметке, я хочу описать один любопытный случай падения производительности в запросах с оконными функциями и неравномерным распределением данных. Для людей, работающих с SQL Server, использование оконных функций, как и неравномерное распределение данных – обычное и довольно частое явление, с которым периодически сталкиваешься в реальной жизни. При определенном стечении обстоятельств, два фактора соединенных вместе, могут стать источником низкой производительности.

 

 

Читать дальше…

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
Комментарии отключены  comments 
formats

Good Enough Plan

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

 
Читать дальше…

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
Комментарии отключены  comments 
formats

Cardinality Estimation Framework 2014 First Look

blogpost_min

Введение

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

What’s New (Database Engine)

01
Информации на эту тему пока довольно мало, в конце заметки я приведу список всех известных мне на сегодня статей на эту тему. Информации из первоисточников пока нет вовсе, надеюсь, с официальным выходом SQL Server 2014 ситуация изменится в лучшую сторону.
Пока же, я хочу поделиться с читателями результатами своих собственных экспериментов.
Читать дальше…

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
Комментарии отключены  comments 
formats

Sql Server 2014 CTP Columnstore


3

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

 
Читать дальше…

 
Теги:
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
Комментарии отключены  comments 
formats

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

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

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
Комментарии отключены  comments 
formats

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

blogpost29_minНедавно, просматривая план запроса, я обратил внимание, что в одной ветке плана таблицы соединяются при помощи 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)

Спасибо всем участникам и организаторам!

 
formats

24 HOP Columnstore Indexes

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

К сожалению, я не смог присутствовать на всех докладах коллег, но те что удалось посмотреть оставили только положительные впечатления.

Выступая в качестве докладчика, тоже испытываешь интересные чувства, в основном связанные с тем, что нет непосредственного контакта со слушателями. Начинают закрадываться панические мысли — «а что если меня не слышно и я рассказываю все это самому себе, а люди по другую сторону экрана сидят в недоумении» и т.д. Надеюсь, что такого не произошло =)

Хотелось сказать спасибо всем кто присоединялся, слушал доклады, задавал вопросы, а также коллегам, которые выступали. Отдельное спасибо организаторам и в частности Андрею Коршикову. Трудно представить, сколько усилий требуется, чтобы организовать столько народу по всему миру (ведь докладчики были из разных стран и часовых поясов), но явно усилий не мало. Андрей, спасибо. Надеюсь, что в будущем это мероприятие будет приобретать все бОльшую популярность и аудитория мероприятия будет расти.

Как и обещал, выкладываю свои материалы к конференции, презентацию и демонстрации.
24HOP2013 Columnstore (~ 433 KB)
Если у вас будут возникать вопросы, пожалуйста, не стесняйтесь их задавать через комментарии, твиттер, электронную почту [pilugin(at)inbox.ru].
Всем спасибо и до встречи на SQL Rally, где я буду рассказывать про оконные функции!

 
formats

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

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