Formula 1 in Code

Фильтр по тегу: clustered view


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

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

Для этого мы рассмотрим несколько ситуаций:
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 просмотры: 1915, комментарии: 0