Formula 1 in Code


Первая встреча SQL Server User Group в Питере!

Ребята, у меня отличные новости - уже очень скоро пройдет первая встреча SQL Server User Group в Питере!!! На ней выступлю я и Андрей Коршиков (MVP SQL Server и PASS Regional Mentor). Андрей специально прилетит к нам на нашу первую встречу, так что не пропустите шанс познакомиться с ним лично!

Итак, самое главное и самое интересное - вы можете выбрать о чем мы будем рассказывать.

Подробнее ...
добавлено: 23 сен 14 просмотры: 1024, комментарии: 0





Подход доктора Хауса в тестировании оптимизации SQL-запросов (серия 3)

Запись моего выступления на SQA #14 в Львове. Еду на SQA #15 в Москву с продолжением. Жду всех, кому это будет интересно.

Смотреть тут ...
добавлено: 28 фев 14 просмотры: 1714, комментарии: 0



Что важнее Index или Statistics?

Не так часто мне хочется выразить свои мысли в стихах, тем более на технические темы. Но примерно 2 года меня посетило вдохновение и только теперь я публикую свое маленькое стихотверение! Оно повествует о споре статистики и индекса. Спор вечный - кто из них важнее в SQL Server? Вопрос, на который нет четкого ответа ...

Подробнее ...
добавлено: 11 окт 13 просмотры: 1270, комментарии: 0





Подход доктора Хауса к оптимизации SQL-запросов (серия 1)

Как же долго я не писал в свой блог, но вот появился хороший повод возобновить эту традицию. Появились записи с моей встречи в CodeFreeze.

Смотреть
добавлено: 24 сен 13 просмотры: 2812, комментарии: 0



Введение в работу с XML в SQL Server

Мы потихоньку подбираемся к статьям про статистику, так как понимание именно этой темы приносит, по-моему мнению, наибольшую пользу и эффект при оптимизации. Ну, а для этого мне очень хотелось залить в базу Формулы 1, на которой я демонстрирую все свои статьи, реальные данные.

Но сначала эти самые данные нужно было где-то найти и желательно как можно больше, чтобы база получилась посложнее и на ней можно было показывать примеры статистики. Но ничего готового и действительно серьезного я так и не нашел :(. Максимум данных было на официальном сайте www.f1.com, там были результаты гонок с 1950 года. Но они были разбросаны по разным страницам и никакого единого файла для скачивания истории всех гонок. Ну что ж, пришлось писать маленькую программку, которая прошлась по всем этим страницам и написала нужный мне xml. Вот только его теперь ещё нужно было загрузить и распарсить в SQL Server-e об этом и поговорим в этой статье.

Читать далее ...
добавлено: 27 дек 11 просмотры: 2035, комментарии: 0



Select top 5 * From TechEd Russia 2011

Эх, давно не писал ничего в свой блог - непорядок. Но месяц выдался ярким и полным событий, так что буду исправляться!

Я был на первом в России TechEd-e. И могу сказать, что по уровню и количеству докладов конференция была на высоте. 160 докладов в 15 треках! Просмотреть их всех было не реально, приходилось выбирать и чем-то жертвовать. Поэтому и формирую TOP 5 понравившихся мне докладчиков с ссылками на уже имеющиеся доклады на techdays.

Читать далее ...
добавлено: 04 дек 11 просмотры: 1513, комментарии: 0



Влияние уникальных индексов на производительность запросов

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

Существует 2 способа объяснить SQL Server-y, что те или иные данные уникальны:
- уникальный индекс;
- уникальное ограничение (unique constraint);

Читать далее ...
добавлено: 22 окт 11 просмотры: 1883, комментарии: 0



Анализ производительности "больших" операций вставки

Эта статья посвящена анализу того, на сколько сильно влияют различные объекты: внешние ограничения, индексы, кластерные представления на "большие" операции вставки.

Для этого мы рассмотрим несколько ситуаций:
1) Baseline - самая быстрая ситуация так как, на таблице, в которую будет производиться вставка, нет вообще никаких дополнительных объектов.
2) Внешние ключи- на таблице созданы только внешние ограничения.
3) Внешние ключи + индексы - помимо внешних ключей на таблице созданы базовые поддерживающие ограничения индексы.
4) Все включено - самая тяжелая ситуация, когда на таблице есть различные объекты, влияющие на производительность операции вставки: внешние ключи, индексы и кластерное представление.

Для каждой ситуации тестировалась вставка шести размеров: 2 500, 10 000, 40 000, 250 000, 1 000 000 и 4 000 000 строк. Каждое измерение производилось, как минимум 5 раз, для того, чтобы получить среднее, которому можно доверять. В добавок, перед каждым запуском очищались:
- таблицы, в которые производится вставка;
- процедурный кеш (dbcc freeproccache);
- кеш данных (dbcc dropcleanbuffers);

Таким образом я попытался создать одинаковые условия перед запуском каждого отдельного теста.

Читать далее ...
добавлено: 16 окт 11 просмотры: 1560, комментарии: 0