Microsoft released CTP 2 of SQL Server vNext (well, yesterday today, but who knows when this thing will hit?).
There’s some great new stuff in the Engine in this release that I’m just crazy about getting to know better.
Going through the Release Notes made me feel things that I haven’t felt since the first time I saw Nicole Eggert.
I’ll be digging into each of these in more detail. For now, you’ll just have to listen to me gush.
Batch Mode Adaptive Joins
Do you have any idea how many words have been written about parameter sniffing, on this blog alone? Like, a billion. I started to count but I ran out of bubble gum. Not to mention the number of times we’ve pointed people to Erland’s (other) masterpiece. Well, as this feature progresses, that may all become a thing of the past. No more RECOMPILE hints or eye-squinting at cardinality estimates.
Interleaved Execution for Multi-Statement Table Valued Functions
I might not get to make as much fun of MSTVFs in the future. For all the problems they tend to solve, stuffing complex business logic all into one place, they introduce oodles, possibly even kaboodles, of performance problems as well. One row estimates can be awful even if you’re only working with one row. While I’m excited that improvements are getting made here, I’m still not a terribly big fan of people other than My Favorite Canadian using table variables.
What started as a joke in Azure has come to vNext. Well, okay, maybe it didn’t start as a joke. When I heard about this feature, I thought Microsoft had just weaponized DTA. I really hate DTA, unless I’m trying to demo awful index recommendations. Why yes, I’d love 40 included columns, thanks. What could go wrong? Same index 15 times? Sign me up. What if one goes bad? But this could be really great for ISVs who sell software to shops that often don’t have DBAs or other people capable of performance tuning on staff. SQL will start trying to fill that role.
But, can I tell you what I’m really excited about?
Query Store now also tracks wait stats summary information.
GET THE EVERLASTING @#!& OUTTA HERE!
That is SO awesome. And there was like, zero fanfare about it in the release notes. This is the first thing that I’m messing with in vNext, and it’s super interesting.
Now, I know, vNext isn’t even out yet, and people are hardly even using 2016.
Getting people to upgrade is harder than getting them to give up brunch.
The upside is that all these awesome new features won’t be putting performance tuners out of business anytime soon.
The downside is that features that really could help people are going to remain out of reach for various reasons.
Thanks for reading!
Brent says: Wanna see more details? Watch dreamy Joe Sack talk about adaptive query processing. (I can comfortably say in public that he’s dreamy because both Erik and I have dreams about him, so I know I’m not the only one.)
“Do you have any idea how many words have been written about parameter sniffing, on this blog alone? Like, a billion. I started to count but I ran out of bubble gum.”
Sounds like a cardinality mis-estimation to me. Which the very topic that comment was lifted from (and others in this post) might be able to help with!
The real underestimation really was in how much bubble gum I’d need.
“Getting people to upgrade is harder than getting them to give up brunch.”
We just finished a massive migration to 2016. If I even mention the words “SQL Server 2017” to my boss, I think he’ll have a heart attack. 😛
With him out of the way, your path to management is all but assured.
Great idea! I’ll be sure to hit him with the classic “Once more, the Sith will rule the galaxy!” too