├── LICENSE ├── README.md ├── ch1 ├── 01. Plan caching and reuse.sql └── 02. The importance of parameters.sql ├── ch10 ├── 01. Introducing the Query Store.sql ├── 03. Tracking expensive queries.sql └── 04. Fixing regressed queries.sql ├── ch11 ├── 01. Using Live Query Statistics.sql ├── 02. Understanding the need for Lightweight Profiling.sql └── 03. Activity Monitor gets new life.sql ├── ch2 ├── 01. Introducing the Cardinality Estimator.sql └── 02. Understanding the query optimization workflow.sql ├── ch3 ├── 01. Accessing a query plan.sql ├── 02. Navigating a query plan.sql ├── 03. Query plan operators of interest.sql └── 04. Query plan properties of interest.sql ├── ch4 ├── 01. Understanding Predicate SARGability.sql └── 02. Indexing strategy using rowstore indexes.sql ├── ch5 ├── 01. Best practices for T-SQL querying.sql ├── 02. The Perils of SELECT [star].sql ├── 03. Functions in our predicate.sql ├── 04. Deconstructing Table-valued Functions.sql ├── 05. Complex expressions.sql ├── 06. Optimizing OR logic.sql ├── 07. NULL means unknown.sql ├── 08. Fuzzy string matching.sql ├── 09. Inequality logic.sql ├── 10. EXECUTE versus sp_executesql.sql └── 11. Composable Logic.sql ├── ch6 ├── 01.Implicit conversions.sql ├── 02.Avoiding unnecessary sort operations.sql ├── 03.Avoiding UDF pitfalls.sql ├── 04.Avoiding unnecessary overhead with stored procedures.sql ├── 05.Pitfalls of complex views.sql ├── 06.Pitfalls of correlated sub-queries.sql └── 07.Properly storing intermediate results.sql ├── ch7 ├── 01.Exploring Query Execution DMVs.sql ├── 02.Exploring Query Plan Cache DMVs.sql └── 03.Troubleshooting common scenarios with DMV queries.sql ├── ch8 └── 01. Introducing XEvents.sql └── ch9 ├── 01. Query Plan Comparison.sql └── 02. Query Plan Analyzer.sql /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/README.md -------------------------------------------------------------------------------- /ch1/01. Plan caching and reuse.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch1/01. Plan caching and reuse.sql -------------------------------------------------------------------------------- /ch1/02. The importance of parameters.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch1/02. The importance of parameters.sql -------------------------------------------------------------------------------- /ch10/01. Introducing the Query Store.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch10/01. Introducing the Query Store.sql -------------------------------------------------------------------------------- /ch10/03. Tracking expensive queries.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch10/03. Tracking expensive queries.sql -------------------------------------------------------------------------------- /ch10/04. Fixing regressed queries.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch10/04. Fixing regressed queries.sql -------------------------------------------------------------------------------- /ch11/01. Using Live Query Statistics.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch11/01. Using Live Query Statistics.sql -------------------------------------------------------------------------------- /ch11/02. Understanding the need for Lightweight Profiling.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch11/02. Understanding the need for Lightweight Profiling.sql -------------------------------------------------------------------------------- /ch11/03. Activity Monitor gets new life.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch11/03. Activity Monitor gets new life.sql -------------------------------------------------------------------------------- /ch2/01. Introducing the Cardinality Estimator.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch2/01. Introducing the Cardinality Estimator.sql -------------------------------------------------------------------------------- /ch2/02. Understanding the query optimization workflow.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch2/02. Understanding the query optimization workflow.sql -------------------------------------------------------------------------------- /ch3/01. Accessing a query plan.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch3/01. Accessing a query plan.sql -------------------------------------------------------------------------------- /ch3/02. Navigating a query plan.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch3/02. Navigating a query plan.sql -------------------------------------------------------------------------------- /ch3/03. Query plan operators of interest.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch3/03. Query plan operators of interest.sql -------------------------------------------------------------------------------- /ch3/04. Query plan properties of interest.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch3/04. Query plan properties of interest.sql -------------------------------------------------------------------------------- /ch4/01. Understanding Predicate SARGability.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch4/01. Understanding Predicate SARGability.sql -------------------------------------------------------------------------------- /ch4/02. Indexing strategy using rowstore indexes.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch4/02. Indexing strategy using rowstore indexes.sql -------------------------------------------------------------------------------- /ch5/01. Best practices for T-SQL querying.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch5/01. Best practices for T-SQL querying.sql -------------------------------------------------------------------------------- /ch5/02. The Perils of SELECT [star].sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch5/02. The Perils of SELECT [star].sql -------------------------------------------------------------------------------- /ch5/03. Functions in our predicate.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch5/03. Functions in our predicate.sql -------------------------------------------------------------------------------- /ch5/04. Deconstructing Table-valued Functions.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch5/04. Deconstructing Table-valued Functions.sql -------------------------------------------------------------------------------- /ch5/05. Complex expressions.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch5/05. Complex expressions.sql -------------------------------------------------------------------------------- /ch5/06. Optimizing OR logic.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch5/06. Optimizing OR logic.sql -------------------------------------------------------------------------------- /ch5/07. NULL means unknown.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch5/07. NULL means unknown.sql -------------------------------------------------------------------------------- /ch5/08. Fuzzy string matching.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch5/08. Fuzzy string matching.sql -------------------------------------------------------------------------------- /ch5/09. Inequality logic.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch5/09. Inequality logic.sql -------------------------------------------------------------------------------- /ch5/10. EXECUTE versus sp_executesql.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch5/10. EXECUTE versus sp_executesql.sql -------------------------------------------------------------------------------- /ch5/11. Composable Logic.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch5/11. Composable Logic.sql -------------------------------------------------------------------------------- /ch6/01.Implicit conversions.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch6/01.Implicit conversions.sql -------------------------------------------------------------------------------- /ch6/02.Avoiding unnecessary sort operations.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch6/02.Avoiding unnecessary sort operations.sql -------------------------------------------------------------------------------- /ch6/03.Avoiding UDF pitfalls.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch6/03.Avoiding UDF pitfalls.sql -------------------------------------------------------------------------------- /ch6/04.Avoiding unnecessary overhead with stored procedures.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch6/04.Avoiding unnecessary overhead with stored procedures.sql -------------------------------------------------------------------------------- /ch6/05.Pitfalls of complex views.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch6/05.Pitfalls of complex views.sql -------------------------------------------------------------------------------- /ch6/06.Pitfalls of correlated sub-queries.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch6/06.Pitfalls of correlated sub-queries.sql -------------------------------------------------------------------------------- /ch6/07.Properly storing intermediate results.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch6/07.Properly storing intermediate results.sql -------------------------------------------------------------------------------- /ch7/01.Exploring Query Execution DMVs.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch7/01.Exploring Query Execution DMVs.sql -------------------------------------------------------------------------------- /ch7/02.Exploring Query Plan Cache DMVs.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch7/02.Exploring Query Plan Cache DMVs.sql -------------------------------------------------------------------------------- /ch7/03.Troubleshooting common scenarios with DMV queries.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch7/03.Troubleshooting common scenarios with DMV queries.sql -------------------------------------------------------------------------------- /ch8/01. Introducing XEvents.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch8/01. Introducing XEvents.sql -------------------------------------------------------------------------------- /ch9/01. Query Plan Comparison.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch9/01. Query Plan Comparison.sql -------------------------------------------------------------------------------- /ch9/02. Query Plan Analyzer.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Learn-T-SQL-Querying-Second-Edition/HEAD/ch9/02. Query Plan Analyzer.sql --------------------------------------------------------------------------------