Memory Grant Feedback and data skew
The new adaptive query processing features in SQL Server 2017 are useful for fixing performance problems that were previously very hard to fix. They’re not perfect though, and one of the problems with...
View ArticleA rant about presentations
My company’s internal conference is in a couple of weeks, so this seems like a good time to have a quick rant about some presentation failings I’ve seen over the last year or so. If you want to, or are...
View ArticleBooks of 2018
I set a reading goal of 75 books again in 2018. Fell a little short, only managed 70. All in all I’m not too unhappy about that. The full details of all the books read are available on Goodreads’s...
View ArticleComparing plans in Query Store
One feature that was added in the 2016 version of SSMS that hasn’t received a lot of attention, is the ability to compare execution plans. There’s two ways of doing this, from Query Store and from...
View ArticleComparing plans in Management Studio
Previously I looked at using Query Store to compare execution plans, but it’s not the only way that two execution plans can be compared. The other method requires a saved execution plan and the...
View ArticleJobs that beat the caring out of you
Ok, Since Jen and Grant started this, it’s time to share some horrors… This happened during the five or so years I was doing consulting type work with a small consulting company (which was itself a...
View ArticleNo, this is not a bug in T-SQL
(or, Column scope and binding order in subqueries) I keep seeing this in all sorts of places. People getting an unexpected result when working with a subquery, typically an IN subquery, and assuming...
View ArticleIn-line scalar functions in SQL Server 2019
Yes, yes, yes, finally! It’s hardly a secret that I’m not a fan of scalar user-defined functions. I refer to them as ‘developer pit-traps’ due to the amount of times I’ve seen developers absolutely...
View ArticleA new way of getting the actual execution plan
Getting the actual execution plan, that is the plan with run-time statistics for a query from an application has always been a little difficult. It’s fine if you can get the query running in...
View ArticleBooks of 2019
I got sloppy with my book tracking this year, and completely stopped marking what I read on Goodreads part way through the year, hence no full list of what I read. The high points of the books read...
View ArticlePluralsight Free April
It’s a few days into April, but not too late I hope to mention that Pluralsight is offering their entire library, free to new accounts, for the month of April. Sign up on their promotion page to take...
View ArticleOn table variable row estimations
At first glance, the question of how many rows are estimated from a table variable is easy. But, is it really that simple? Well, not really. To dig into the why, first we need to identify why table...
View ArticleThe black pit of despair
The year’s been hell, I think most everyone agrees. For me, in addition to all the external problems, I’ve been fighting with depression ranging from bothersome to near-crippling. This is not advice,...
View ArticleWhat is deferred compilation?
When I talked about row estimations for table variables, I mentioned ‘deferred compile’, but didn’t give a whole lot of details. What, then, is a deferred compilation? Let’s start with how batches...
View ArticleTrust, but verify
Every year my company runs a graduate bootcamp, 2 months of teaching new grads what they need to know to write production-ready software. This post was inspired by something that happened during this...
View ArticleAll you need to know about Columnstore Indexes in one article
I realised the other week, that despite a bunch of posts on indexes over the years, I’ve never written a blog post on Columnstore indexes. Time to fix that. Here’s everything you need to know to get...
View ArticleNo, this is not a bug in T-SQL
(or, Column scope and binding order in subqueries) I keep seeing this in all sorts of places. People getting an unexpected result when working with a subquery, typically an IN subquery, and assuming...
View ArticleIn-line scalar functions in SQL Server 2019
Yes, yes, yes, finally! It’s hardly a secret that I’m not a fan of scalar user-defined functions. I refer to them as ‘developer pit-traps’ due to the amount of times I’ve seen developers absolutely...
View ArticleA new way of getting the actual execution plan
Getting the actual execution plan, that is the plan with run-time statistics for a query from an application has always been a little difficult. It’s fine if you can get the query running in...
View ArticleBooks of 2019
I got sloppy with my book tracking this year, and completely stopped marking what I read on Goodreads part way through the year, hence no full list of what I read. The high points of the books read...
View Article