My gauge of an amazing book is simple: if I've got a question, and I reach for the book BEFORE I search the web, then it's an amazing book.
Several times in the last two weeks, I reached for this book first.
Query performance tuning is the art of reading a query's execution plan, figuring out why it's not fast, and then determining the most cost-effective way to make it faster. Anybody can throw more indexes in and just hope it speeds up, but as the book illustrates, sometimes that can hurt more than help.
To do a good job, the tuner needs to know about indexing, statistics, execution plans, compilations, blocking, deadlocks, and query design issues that can force a query to perform poorly. Some of this stuff is covered in abstract terms in college classes, but for the most part, all of us - developers, DBAs, sysadmins - are pretty much unprepared to guess what's going on inside the SQL Server engine.
When you first design and deploy an application, that's a great thing: you don't need to know what's going on inside the black box. SQL Server handles a lot of load with the default settings, with pretty much any application design, before things start to creak and groan. I've seen people build amazingly big SQL Server applications without any knowledge of how indexes or execution plans work. When you start to run into performance problems, you need expert help fast - and that's what this book provides.
Regardless of your seniority level, you're going to find this book's price an extremely worthwhile investment. The book's authors, Grant Fritchey and Sajal Dam, strike a great balance between bringing you up to speed versus diving into advanced concepts. Chapter 4 on Index Analysis is a great example. It spends the first few pages bringing the beginners up to speed on what an index is and how B-trees work. Then it gradually layers on an explanation of how you would approach index design and why the width of your index matters. The explanation includes queries that prove the concepts, with screenshots of results where appropriate. The discussion ramps up to more advanced topics like covering indexes, filtered indexes, and compression.
I really like the organization of this book because it progresses in the same way that I'd recommend training for a performance tuner. If you need to make an application run faster, read the book in order. Don't be tempted to jump to, say, execution plan analysis - you'll make poor decisions without understanding the concepts discussed earlier.
I've been performance tuning applications for years, trying to wring every last dollar's worth out of my hardware to make our applications run faster, and I keep learning things as I go through this book. Normally, I try to read the entire book cover to cover before posting a review, but in this case, it's going to be quite a while before I finish the book. I just keep reading a chapter, catching enough things I didn't know before, and then stopping to apply that knowledge and test it out in my lab. I highly recommend it.