A growing business hired me to add to their software-development team. A queue of worthwhile, interesting projects greeted my arrival. Alas, with flourishing order volume came an unforeseen, sudden result: an overwhelmed SQL Server instance. This urgent situation led me to shelve my project work and delve into optimizing our SQL Server implementation. Over about a year, I improved our database performance considerably. Our applications became faster and had fewer database-related errors. With far fewer urgent database issues, I could resume project work. Trial and error, plus some other resources, taught me practical ways to improve our database code and to troubleshoot SQL Server performance. I want to share some of these tips with you!
I will teach some rules of thumb for writing better-performing SQL Server queries quickly. I will also show how to troubleshoot performance with SQL Server execution plans. If you are unfamiliar with execution plans, don’t worry! We will go through how to use these diagrams to see how SQL Server runs your queries and how to fix problems. Execution plans show a lot of information, and I will share what is important and what you should ignore.
Whether you know a little or a lot about developing for SQL Server, you will learn tips you can use Monday morning to make your database code better. Even if you use an object-relational-mapping framework like Entity Framework or NHibernate, knowing how to find bad SQL Server queries that ORMs generate will help your performance. I look forward to sharing what I have learned with you!
Andrew Brobston is a principal software engineer at Hobsons, developing software to help academic institutions advise their students for success. Previously, he was a lead full-stack software developer at SJV Data Solutions, an Atlanta-area company specializing in background checks. Before SJV, he was a full-stack developer with Stack Overflow.