Book Image

Learn T-SQL Querying - Second Edition

By : Pedro Lopes, Pam Lahoud
Book Image

Learn T-SQL Querying - Second Edition

By: Pedro Lopes, Pam Lahoud

Overview of this book

Data professionals seeking to excel in Transact-SQL (T-SQL) for Microsoft SQL Server and Azure SQL Database often lack comprehensive resources. This updated second edition of Learn T-SQL Querying focuses on indexing queries and crafting elegant T-SQL code, catering to all data professionals seeking mastery in modern SQL Server versions and Azure SQL Database. Starting with query processing fundamentals, this book lays a solid foundation for writing performant T-SQL queries. You’ll explore the mechanics of the Query Optimizer and Query Execution Plans, learning how to analyze execution plans for insights into current performance and scalability. Through dynamic management views (DMVs) and dynamic management functions (DMFs), you’ll build diagnostic queries. This book thoroughly covers indexing for T-SQL performance and provides insights into SQL Server’s built-in tools for expedited resolution of query performance and scalability issues. Further, hands-on examples will guide you through implementing features such as avoiding UDF pitfalls, understanding predicate SARGability, Query Store, and Query Tuning Assistant. By the end of this book, you‘ll have developed the ability to identify query performance bottlenecks, recognize anti-patterns, and skillfully avoid such pitfalls.
Table of Contents (18 chapters)
1
Part 1: Query Processing Fundamentals
4
Part 2: Dos and Don’ts of T-SQL
9
Part 3: Assembling Our Query Troubleshooting Toolbox

Fixing regressed queries

Parameters are fundamental drivers of the query optimization process. We discussed the topic of parameter sensitivity, known as parameter sniffing, in the The importance of parameters section in Chapter 1, Understanding Query Processing, and the Query plan properties of interest section in Chapter 3, Exploring Query Execution Plans.

This brings us to the other main benefit of Query Store: tracking plan changes over time – in other words, regressions from parameter-sensitive plans. With this exercise, we want to make sure the volatility that can come with parameter-sensitive plans is addressed, and that the plan that is used is the one that’s best for most uses, if not all. If successful, we will address the complaints we’ve been getting that sometimes the application just slows down for a few minutes and then recovers.

To generate enough workload in our AdventureWorks database, again, we will use the QueryStoreSimpleDemo.exe application...