2 недели назад в подмосковных Яхонтах прошла очередная конференция DevCon 2013. Выкладываю материалы моих докладов.
Как читать план запроса в SQL Server и на что обращать внимание
В докладе идет речь о том, что такое план запроса; о различных операторах, с которыми можно встретиться, с чего начать анализ плана, на что обращать внимание и как можно выявить “узкое место” в запросе.
Презентация: https://olontsev.ru/download/DevCon2013_Query_Plans.pdf
Скрипты с демонстрациями: https://olontsev.ru/download/Query_Plans_Demo_Scripts.zip
Особенности использования хранимых процедур и функций в SQL Server
Эта сессия об особенностях, с которыми можно столкнуться при использовании хранимых процедур и функций в SQL Server, и как это может повлиять на производительность ваших запросов.
Презентация: https://olontsev.ru/download/DevCon_2013_UDFs_and_SPs.pdf
Скрипты с демонстрациями: https://olontsev.ru/download/UDFs_and_SPs_Demo_Scripts.zip
Записи докладов можно посмотреть по указанной ссылке (в скором времени должны выложить на http://www.techdays.ru/): http://www.msdevcon.ru/online
Ну и напоследок ответ на самый главный вопрос конференции: в чем секрет белки? J
Спасибо.
Забрал, спасибо.
Сергей, а есть материал(статья, видео и проч), которые вы порекомендовали бы по теме правильного написания CLR Table-valued functions?
Алексей, а в каких случаях планируете их использовать, если не секрет?
Парсинг строк из таблицы с большим текстовом полем в другую таблицу в структурированном виде.
А это разовая операция планируется или на регулярной основе? Насчет применения SSIS не думали для этого?
Регулярная. Script Transform в смысле? Ну в принципе тоже вариант.
Мне тоже кажется, что это быстрее будет и правильнее. Плюс этого метода в том, что он будет выполняться вне процесса SQL Server и его в будущем можно будет даже вынести на отдельный сервер, если будет большой поток данных для преобразования. Сможете легко масштабировать нагрузку. Потому что все методы оптимизации CLR функций, что я видел, заключались в оптимизации непосредственно C# или VB.NET кода, вызывались те или иные методы в зависимости от их производительности. Это очень тонкий тюнинг. А с ETL все гораздо проще. 🙂
Ок, буду пробовать)
Буквально сегодня Дмитрий Короткевич опубликовал хорошую статью: http://aboutsqlserver.com/2013/07/22/clr-vs-t-sql-performance-considerations/