Four years ago, after a bunch of dithering and some negotiations with Tony Davis, my editor, I started to update my book, SQL Server Execution Plans. We managed to convince Hugo Kornelis to be the tech editor. I started to do the real writing in early 2015.
I was most of the way through a first draft and no one liked it. Tony was unhappy. Hugo was unhappy. I was unhappy. I was just trying to update the existing book, SQL Server Execution Plans. It wasn’t working.
We all came to the conclusion that the old book was wrong. Not simply in a technical sense, although there was a lot of that, but in a structural sense. So we started rearranging things. SQL Server 2014 came out, but I was ready for it, having been on a preview, so it was no big deal. We started a second draft.
Draft Two, SQL Server Execution Plans
There was a bunch of work to come up with a new structure. The biggest struggle around the book was actually avoiding making it into a performance tuning book. I have a book on performance tuning. It’s around 700 pages long. Maybe… 30 pages of that is devoted to execution plans. If we turned this book into a performance tuning book, we needed to add the 670 pages of information that would have been missing. None of us wanted that.
Also, we were struggling with how to include Azure SQL Database. Draft Two had that in it’s own chapter. I started to dither. Tony took a sabbatical (I think). Hugo got sick. Things drifted.
SQL Server 2016 was released.
Draft Three, SQL Server Execution Plans
NUTS!
OK, so a bunch of changes, but we got on top of them, put together a structure similar to what you see now, added a bunch of information about the Query Store (because, of course). Then heard that 2017 would be released before we could finish. Not only that, but, it had a lot of things we wanted to be sure were in the book, adaptive query processing, others. Some delays, lots of time spent learning.
SQL Server 2017 was released, but we were on top of it.
Then Microsoft did two things, they split SQL Server Management Studio from the server install, no big deal, and they started an accelerated release cadence that suddenly included replacing ALL the execution plan icons.
Draft Four, SQL Server Execution Plans
NUTS! NUTS! NUTS!
Sure, I’ll go back through 500 pages and redo every single screen capture. I have nothing else going on. Oh wait, I do. I started rewriting my query performance tuning book right around this time (schedules, contracts, fear of another release of SQL Server before I could finish both books). Suddenly, all I’m doing, most days, is working on these books. First, one during the day for my boss at Redgate, the other at night and on weekends.
However, we had momentum going at long last and pushed on through before a fourth version of SQL Server could be released.
Finished
A little shy of four years later, I’m excited, pleased, relieved, to announce that the 3rd Edition of SQL Server Execution Plans is available. Thanks to my employer, Redgate Software, the book is 100% free to download. Follow this link and get your own copy. Feel free to share it with others. Just remember where you got it.
I want to personally, and as publicly as possible, thank Hugo and Tony. Without them, it would be a seriously crappy book. I believe they may have put in more work on it than I did. Gentlemen, I appreciate you more than I can express.
[…] Read the entire article at the source link… Grant Fritchey […]
Thanks for the persistence. An essential part of my tech library and something I reference often.
Thanks. I sincerely believe, this one will be even better.
Wow, thanks for the frank elaboration on the process. As a contributor myself to several books, it helps for readers to hear how all-consuming it can be. Your story here is among the most frustrating for an author (and team) that I’ve ever heard.
On to the book, having read the first edition, I’m very interested to learn what you feel was wrong about it. But all the more I look forward to the info on more recent sql server editions and features.
Finally, of course, thanks for the effort and for plowing on, and most of all for releasing the book for free. Now many of us will spend hours digesting it all. 🙂 And may servers, developers, users the world over benefit from all your work!
Wow! Hard to list it all. Let me summarize a few things. First, the original book doesn’t give enough guidance for how to read a plan. It just sets about showing a bunch of stuff. Also, the organization was kind of poor. Finally, I had stuff wrong. We’ve done our level best to fix all three of these issues. I hope it pays off.
I don’t know how you do it. Good job with all the hard work.
Poorly. That’s how I do it. Poorly. I sometimes think I could do truly amazing stuff if I tried to do less stuff.
Congratulations for it, and well done!
Now , I have what to read
Thank you!
Thanks for your hard work
It wasn’t hard. It was just tedious and long. However, thank you.
Want to purchase kindle version or paper version. Do we know when it will be available? Thanks a lot!!!
It should be available within a few days. My boss just has to get it posted to Amazon (she’s the only one with the password).
Just adding a quick thumbs up to the paperback going up on Amazon. I’d like to support the book by purchasing a copy.
It will be, but it’ll be a couple of weeks. We’re making sure it’s properly type-set.
Grant, the next edition ought to be 2 books. 1 for beginners and 1 for advance (or new features).
Amazing! Thank you Grant. btw, I tried to upload the free PDF copy to my kindle and though it did upload/convert fine, it’s not same as the real kindle version. I will wait for it to show up on Amazon and go from there. Can’t wait!
[…] Grant Fritchey shares a funny (in a Schadenfreude sense) look at what it took to get SQL Server Exec…: […]
Well done, Grant. Thank you!
Grant, I also wish to thank you and your collaborators (Tony, Hugo and anyone else that was involved) for sharing and putting out a new version of this book. It is a great accomplishment and not an easy process. Well done!
Thank you very much.
Thanks very much for your hard work and dedication, Grant. It is very much appreciated.
Your first book brought me up to speed many years’ ago on execution plans. I’m looking forward to getting into this one.
Thank you. I sure hope it proves as useful.
Will there be a hard copy available for purchase? I have the fist one on my desk. I feel all this work should be rewarded with some royalties…
Absolutely! However, it’ll be another 2-3 weeks. Redgate decided to have this book be professionally typeset for printing. We’ll publish it on all the usual channels once that is complete. The print book will be available to purchase, or, we’ll give away copies at some events.
Just learning about Execution Plans and intend on reading through this impressive book! But I wondered if you could help me understand how Excel (SQL Connections) impact the performance of SQL Server. Meaning, does excel create or cause SQL Server to create an execution plan/query plan? By using Excel to retrieve data using it’s built-in data connections process, is there any drag on the performance of the database. I’m being told that every time the query runs from Excel SQL Server has to create a new plan. They’re suggesting using a stored procedure instead. Thoughts?
The queries from Excel are effectively a type of dynamic SQL in the database. There’s nothing uniquely bad about that. Any given query will create an execution plan. Depending on the queries generated, they will create one plan and then reuse it. However, change the parameter values or the columns within Excel and you’ll get a new query and a new plan.
I would not agree that all queries from Excel should be changed into stored procedures. It is possible that individual queries will need to be done as procedures. It’s hard to clarify a whole lot more without tons of details.
I hope that helps some.
I’d love to purchase this book from Amazon! As of today still could not find it on amazon
I am sorry about that. It will be there. I know we’ve completed the typesetting because we gave away printed copies at PASS Summit last week. It will be available very soon I’m sure. I apologize for the delay.
[…] to Grant Fritchey , where I started more about execution plan of SQL […]