IN THE BEGINNING
I started writing this series as a beginner’s guide to some of the oddities in SQL Server, and to address some of the incorrectness in the world when it comes to database practitioner-ing. It was enjoyable to write, but I think two months is probably enough.
Sometimes you have to clear a lot of material out before you can start on different stuff. Like burning dead brush or something. That’s my only advice about writing.
I hope you’ve enjoyed it, and you’ve learned some stuff along the way.
Anyway, for your convenience, here’s the full list.
Starting SQL: A Month Of Fundamentals Posts
Starting SQL: Written Queries vs Executed Queries
Starting SQL: Indexes Store Data In Order
Starting SQL: Measuring A Query
Starting SQL: Messing Up A Query
Starting SQL: Why Didn’t You Use My Index?
Starting SQL: A Little TOP Can Have A Big Sort
Starting SQL: Quick Notes About Heaps
Starting SQL: Picking Clustered Indexes
Starting SQL: The Ins Of Nonclustered Indexes
Starting SQL: The Outs Of Nonclustered Indexes
Starting SQL: Key-dependent Relationships
Starting SQL: Rethinking Key Column Order
Starting SQL: Sorts and Memory
Starting SQL: Index Wrap Up
Starting SQL: Waits And Measures
Starting SQL: Some Waits Relate
Starting SQL: Compensating For CPU Waits
Starting SQL: Compensating For Disk Waits
Starting SQL: Compensating For Memory Waits
Starting SQL: Compensating For Lock Waits
Starting SQL: What’s So Great About Query Plans, Anyway?
Starting SQL: Actual Plans Are Actually Important
Starting SQL: Things Query Plans Can’t Tell You
Starting SQL: Things Query Plans Might Tell You
Starting SQL: Memory Grants In Execution Plans
Starting SQL: Why Your Query Can’t Go Parallel, Table Variables Edition
Starting SQL: Why Your Query Can’t Go Parallel, Scalar Functions Edition
Starting SQL: Why Wouldn’t An Index Help?
Starting SQL: Missing Index Blind Spots
Starting SQL: Eager Index Spools
Starting SQL: I Don’t Care How Many Rows Are In Your Table Variable
Starting SQL: Things Your Execution Plan Will Warn You About
Starting SQL: Things Your Execution Plan Should Warn You About
Starting SQL: Query Plan Round Up
Starting SQL: What Are Parameters Made Of?
Starting SQL: What Happens When You Don’t Parameterize Queries?
Starting SQL: Persistent Problems With Parameters
Starting SQL: Parameter Sniffing Because Of Insufficient Indexes
Starting SQL: Fixing Parameter Sniffing
Starting SQL: Wrapping It All Up
Starting SQL: Why Not Make Everything Dynamic?
Starting SQL: Dynamic SQL And Temporary Objects
Starting SQL: Unparameterized Strings In Dynamic SQL
Starting SQL: A Little More Fun With Logging Dynamic SQL
Thanks for reading!
Going Further
If this is the kind of SQL Server stuff you love learning about, you’ll love my training. I’m offering a 75% discount to my blog readers if you click from here. I’m also available for consulting if you just don’t have time for that and need to solve performance problems quickly.