Formula 1 in Code

Фильтр по тегу: t-sql




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

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

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





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

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

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



Порядок соединений в запросе: миф или реальность?

Не так давно я посмотел доклад Sql Server MVP Дмитрия Костылева. Сам доклад достаточно хороший, хотя мне он показался немного поверхностным, так как была сделана попытка пройтись почти по всей оптимизации запросов, а за один час это просто не реально сделать. Но я был удивлен тем фактом, что автор говорил, о том, что порядок соединений влияет на производительность запроса. Сам тезис заключался в том, что таблицы в запросе должны быть как бы отсортированы по количеству данных, т.е. сначала идти маленькие, потом все больше и больше.

Были выделены 2 фактора:
1) При большом количестве таблиц (более 8) это может повлиять на план выполнения
2) Может сократиться время компиляции запросов

Меня это удивило, так как я всегда считал, что главенствовать должна статистика. Более того не факт, что порядок таблиц в запросе будет совпадать с порядком операторов в плане, да и 8 таблиц мне показалось довольно маленьким числом, чтобы отдельно думать о порядке соединений при написании запросов. Ну раз это "любимая тема" MVP Дмитрия Костылева, а у меня нет причин не доверять его авторитетному мнению, то решил проверить я все эти факты на примерах, чтобы определить для себя раз и навсегда, важен или неважен порядок соединений в запросе, и если важен, то когда?

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



Тестирование производительности запросов (часть I)

Что же мы должны сделать, чтобы чувствовать себя уверенно при оптимизации базы данных? В прошлой статье мы начали с функционального тестирования, и теперь мы точно уверенны, что, по крайней мере, с этой точки зрения ничего не сломаем. Но самое главное мы должны убедиться, что наше новое решение действительно работает быстрее. Собрать метрики, время выполнения до и после оптимизации, провести сравнительный анализ и выяснить удовлетворяет ли нас новый оптимизированный вариант или нет.

Очевиден тот факт, что для проведения грамотного тестирования производительности, нам сначала нужно хорошо подготовится. И, по крайней мере, выполнить 3 подготовительные процедуры, каждой из которых я посвящу по статье.

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



Функциональное тестирование запросов

Долго думал с чего же все-таки стоит начать. Что самое главное в оптимизации? Без чего невозможно эффективно заниматься улучшением производительности любого приложения? И понял - без хороших тестов, без уверенности в своих изменениях!

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

Читать далее...
добавлено: 12 авг 11 просмотры: 2415, комментарии: 2