Posts

T-SQL Tuesday #151 – Coding standards

Edition #151 of T-SQL Tuesday is hosted by Mala Mahadevan (b|t), and her chosen topic is to write about coding standards. Or more specifically, T-SQL coding standards. Uhm … are you trying to tell me that there are other programming languages? 😉 The nice thing about standards … “The nice things about coding standards is that there are so many to choose from”. This quote, usually attributed to Andrew S. Tannenbaum, bears a lot of truth. There are indeed many standards. And the debates over which standard is better and which standard should be burned and buried can rage into…

Understanding Memory Fractions

Some time ago a reader reached out to me with a request for help. He showed me a query and accompanying execution plan, and asked if I could help reduce (or, better yet, eliminate) the many hash spills that were killing his performance. While helping him work through the plan, I was once more reminded of one of my pet peeves with execution plans: we get to see the requested memory for the plan (the Memory Grant and MemoryGrantInfo properties), which is of course based on the estimated total memory usage of operators that are active at the same time.…

More Execution Plan Video Training – pre-order now!

Do you like to learn about execution plans? And do you want to save money? Then this post is for you! Execution Plan Video Training Tuning query performance works best if you understand what you can learn from reading execution plans. And if you want to get the most out of each execution plan you see, then you need to know what all operators and properties tell you. The most in-depth and complete learning resource for that is the SQLServerFast Execution Plan Video Training. The only problem with this resource is that it’s not ready yet. Announcing … block 2,…

T-SQL Tuesday #150 – My first technical job

I’ll admit, I’ve been slacking the T-SQL Tuesday habit for a much too long time. Almost a year since the last time I joined. Time to get back into it! This month, our host is Kenneth Fisher (b|t). He challenges all the #SQLFamily member to reminiscence about their first ever technical job. Is this a secret plot to figure out who of us are too old to remember that far back? Or just human interest? I’ll always remember my first! No matter how many senior moments I have in my life, I don’t think I will ever forget my first…

Execution Plans in Azure Data Studio

Microsoft has two main tools for querying and managing SQL Server databases in a graphical UI. SQL Server Management Studio (SSMS) is for many people still the default choice; it used to be included with a SQL Server installation, it is the most familiar tool for most SQL Server professionals, it gives easy access to (almost) all SQL Server features, and it’s simply the interface we have been used to for as long as we’ve been working with SQL Server. The alternative is Azure Data Studio (ADS). This tool seems to be mostly targeted towards developers. A DBA will notice…

Breaking the silence

12 Comments
I’ve been slacking. I know. I have not published any new pages to the Execution Plan Reference since September. The last release of new content for the Execution Plan Video Training is even longer back, that was in May. No other blog posts, except from a few promotional posts. And until last Monday, nothing added to my YouTube channel either. Okay, I did still speak at various conferences. I answered the odd question at the #sqlhelp Twitter channel. I think I responded to all mails I received (but if not … my apologies and feel free to re-send!). So you…

Here’s the execution plan … now what?

No Comments
I was really surprised, but also honoured, when I was asked to participate in the Query Tuning Learning Pathway at the 2021 PASS Community Summit. I immediately knew I wanted this to be a new session, and I wanted it to be special. After a few mails between Allen White (the pathway coordinator) and me, the idea was born to build a session aimed at bridging the gap between on the one side the simplified classroom examples typically used to explain a concept, and on the other side the big and messy execution plans you’ll encounter when trying to apply…

Black Friday sale

2 Comments
“If Brent does it, it has to be smart, right? Right?” As a European, I have always struggled with the concept of Black Friday sale. For many reasons. It’s called Black Friday. Why does the sale for many retailers actually last a full week, or even a month? The discounts offered during the Black Friday sale are, often, huge. Why would anyone still buy any non-perishables at any other time of the year? But as a European, I also see the popularity of Black Friday sales increasing, in my own country and many other countries throughout the world. As well…

Recorded conference sessions

Since the start of the Covid-19 pandemic, conferences have switched to a virtual format. During the pandemic that had only benefits, since the alternative would be no conference at all. Now that some areas of the world are slowly opening up again and the first few organizers tentatively prepare for live conferences, it will be interesting to see whether we’ll return to in-person delivery only, or whether we’ll see a mixture of in-person events, virtual events, and hybrid events going forward. Session recordings An interesting side effect of the rise of virtual events is that far more sessions than before…

Plansplaining, part 19. Temporal tables (part 4)

Welcome to part nineteen of the plansplaining series, where I will finally wrap up the discussion on temporal tables. In the first three parts, we looked at execution plans for modifying data in a temporal table, and for basic and advanced temporal queries. In this last part, we’ll shift away for execution plans (so the plansplaining tag is perhaps a bit misleading) and look at what happens if you join data from multiple temporal tables. Sample data I once more use the same tables as in all previous post, but this time I want a bit more control over the…

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close