5 Great Things About Markus Winand’s Book: SQL Performance Explained
In the realm of database management and development, optimizing SQL performance is a perennial challenge.
If you’re looking to up your SQL performance tuning game, Markus Winand’s book “SQL Performance Explained” is a must-have in your arsenal. It’s become the go-to resource for understanding and mastering all things SQL performance.
Let’s explore the five great aspects of this book that have earned it a place of prominence among developers, database administrators, and enthusiasts.
The 5 Great Things
Here are the five great things about the book named SQL Performance Explained by Markus Winand:
1. Covers Databases Broadly
You may not have noticed, but there’s a whole spectrum of relational databases on offer. Of course, in the database world, most get infatuated with one, and that becomes their bread & butter before long. Their life, their passion, their devotion.
That’s fine as far as it goes, but Winand really stands out, offering a spectrum of ideas and optimization techniques for different platforms.
If you’re an Oracle-only or MySQL-only dba you’ll gain a lot from this book but even more importantly if you work in professional services, and need to communicate with DBAs brought up on one of these platforms, it becomes like a rosetta stone for SQL query tuning.
2. Shows You How to Fish
I find database books and methods fall into two sorts of broad categories. There’s the call Oracle support method, where you’ll be handed one very specific set of steps, commands, and a path to solve each specific problem. It’s more about memorization, it’s like they actually hand you the fish.
Then there is the investigative method, where you learn how to use a magnifying glass to look at fingerprints, check for DNA samples, and interrogate suspects. You know learn the tools of the trade.
That’s what Markus brings you, in all its delicious glory.
3. It’s Concise
Another gripe I have of technical books is that the publishing model is, this is a textbook and since the price tag is large, let’s make the physical book large! Of course, no one wants to carry those books around. I even recently bought a Kindle to solve this problem.
SQL Performance Explained is more a paperback book form factor, and that means you can tote it around with you easily, and keep it with you at work. Read it on the train, commuting to work.
200 pages packed cover to cover with all sorts of good chapters, including a primer on indexes & types, scalability & performance, join, clustering, Top-N queries, DML, and more.
4. It’s Technical but Accessible
If you’re a real rock bottom beginner, you might want to dig a bit more on your SQL syntax, and some of the basics. You could also keep a 101-book side-by-side, while you’re reading this book.
For the intermediate & advanced DBAs out there, this book will sit comfortably in your paws as you flip the pages and learn something new. For instance, just today I learned that Postgres can index NULLs while MySQL, Oracle, and SQL*Server cannot. Learn something new every day.
5. Gives You Answers You Can Use Today
After twenty years of consulting, I’ve seen a few patterns emerge. Besides the spectrum of team & communication challenges, firms hitting the performance wall often have issues with their relational databases.
Yes, those databases are sometimes on the wrong hardware, or there are other obscure problems with setup or configuration. But the bulk of issues center on badly written SQL.
SQL is a much-reviled language and often misunderstood. And it doesn’t seem like developers have gotten that much better at it over the years. It would explain the rise of NoSQL databases, as they often speak REST or XML, with no need for a pesky sequel.
One parting note. For all the devs and architects out there, who want to sing the virtues of ORMs, this book hits that squarely in the nose. By showing how differently each relational database implements SQL, performs work, and optimizes, Winand also illustrates the naivete behind trying to write database-independent application code.
If you’re a developer and don’t know how to profile a query or run explain plan, don’t walk, run to your closest Amazon.com store and get this book!
If I were to offer two slight criticisms, it would be these. First, the index is a bit wonky. When I look under “P” for example, there’s no Postgres, while one-quarter of the book is obviously devoted to that platform. Further, looking up NULL which is covered in depth, in various places in the book, only has one entry in the index, p54 on Oracle. So, the index could be a bit more robust to be useful.
The other criticism is more perhaps my bias. On page 96, when he discusses ORMs I thought he was rather… shall we say gentle. Although he clearly states that “eager fetching” is problematic, I don’t think he goes far enough to condemn it. In my experience, ORMs are always trouble.
Then again why am I complaining, their use keeps me forever employed.
“SQL Performance Explained” by Markus Winand has garnered widespread acclaim for its lucid explanations, vendor-agnostic approach, in-depth indexing coverage, practical examples, and continuous relevance. Everything about this book is described in this article and we hope you have now understood why this book is so much popular among DBAs. So, what are you waiting for? Go and grab one for yourself!