Crash course on Better SQL Development Vladimir Oselsky Senior Software developer, Civica CMI
About the Speaker Vladimir Oselsky (Vlady) Senior Software Developer at Civica CMI @VladyOselsky (Twitter), voselsky (LinkedIn) https://dg-sql.blogspot.com/ Born and raised in Siberia (it does get cold, and sometimes hot) B.S. Software Engineering Technology (I know some .NET) Various IT Jobs since 1998. Starting in 2010 worked with SQL Server and Oracle.
Agenda Road to better development Understand platform Use the right tools Learn from other people and your own mistakes It depends! T-SQL code CTE, Derived Tables, Table Variables, Temp Tables Stored Procedure design, single value vs set approach Cursor – not a Curse Error Handling Execution Plans Tools SSMS SQL Sentry Plan Explorer LINQPad
Road to better development Understanding platform What is available in SQL Server? Data types (Geography and Geometry) User-Defined Table Types CLR In-Memory programming Using right tools (what works best for you) SSMS vs Visual Studio vs LINQPad SSMS vs SQL Sentry Plan Explorer
T-SQL code CTE, Derived Tables, Table Variables, Temp Tables Scope Limitations Data Size Performance Overhead Stored Procedure design, single value vs set approach Using User Defined Types for passing set of values instead of single one Cursor – not a Curse Why not use default options http://sqlperformance.com/2012/09/t-sql-queries/cursor-options (Aaron Bertrand)
Tools SSDT https://msdn.microsoft.com/en-us/library/mt204009.aspx LINQPad 5 http://www.linqpad.net/download.aspx SentryOne Plan Explorer https://sentryone.com/plan-explorer #SQLHelp Use it for help from other people in industry Visual Studio Community Edition https://beta.visualstudio.com/visual-studio-community-vs/ SQL Server 2016 Developer Edition https://www.microsoft.com/en-us/cloud-platform/sql-server-editions-developers
Demo
Q & A Send questions to: vlady.oselsky@gmail.com Blog: https://dg-sql.blogspot.com/ Twitter: @VladyOselsky Thank you
Presentation has ended. Error code #01012017 If you like to know more, feel free to email questions to: Vlady.Oselsky@gmail.com NOTE: All communication sent to incorrect address will be ignored.