Hugo Kornelis's Avatar

Hugo Kornelis

@hugokornelis

Husband, father of two, loves SQL Server execution plans

391
Followers
117
Following
188
Posts
26.10.2023
Joined
Posts Following

Latest posts by Hugo Kornelis @hugokornelis

Please do! Every stem cell increases increases the survival chance for someone in this world.

06.03.2026 20:41 πŸ‘ 2 πŸ” 1 πŸ’¬ 2 πŸ“Œ 0

If you want to register as a stem cell donor in USA. Takes five minutes only.
swabapp.giftoflife.org/links/5yhp

06.03.2026 20:40 πŸ‘ 1 πŸ” 1 πŸ’¬ 0 πŸ“Œ 1
Preview
Return to the diary - SQLServerFast (Warning: This blog post is non-technical but purely personal. I write openly about my current health issues. This blog might be triggering for people who struggle with, or lost dear ones to, cancer a...

I must share sad news.

After three years, my leukemia has returned. Like the previous time, I will share details and updates through my blog. Here is what I know now.

sqlserverfast.com/blog/hugo/20...

05.03.2026 17:53 πŸ‘ 0 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0
Preview
Optimized Locking part 2: Lock After Qualification - SQLServerFast SQL Server 2025 introduced Optimized Locking. Not one, but two features, sharing a single marketing name. Lock After Qualification (LAQ) One of these two features is Lock After Qualification (LAQ). Th...

Optimized Locking is a new feature in #SQLServer 2025. It's an umbrella for two features: Transaction ID Locking and Lock After Qualification.

In my new vlog, I look in detail at Lock After Qualification, to explain how it works and what side effects it can have.

sqlserverfast.com/blog/hugo/20...

26.02.2026 15:56 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Video training update - SQLServerFast My training videos in the SQLServerFast Execution Plan Video Training are never just a done deal. Whenever there is new information to share, either because Microsoft adds new functionality, or becaus...

In my new blog post, I talk about a big update to one of the videos in the SQLServerFast Execution Plan Video Training. And about a newsletter that will keep you informed about all future changes!
#SQLServer

sqlserverfast.com/blog/hugo/20...

22.02.2026 15:07 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

"Ruin a musical by adding, removing, or changing one letter"

I'll start:
The Lion Kink

My son already has me beat.
Fear Evan Hanson

Who has more?

18.02.2026 23:28 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Precon, precon, precon - SQLServerFast If you read this blog, then it is very likely that you have an interest in execution plans. And that you want to increase your understanding of execution plans. A great way to really get to the next l...

Several great opportunities to learn about execution plans, in the near future.

sqlserverfast.com/blog/hugo/20...

15.02.2026 13:02 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Day of Data Richmond 2026 (#1135)

Registration is open for Day of Data - Richmond (aka SQL Saturday RVA) April 10th & 11th. @hugokornelis.bsky.social will be giving a pre-con "Execution Plans in Depth".
dayofdata.org/2026-04-11-d...

#sql #sqlserver #azuredatacommunity #sqlfamily

13.02.2026 21:04 πŸ‘ 0 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Preview
Storage structures 3 – Memory-optimized - SQLServerFast After discussing traditional on-disk rowstore storage in part 1 and columnstores in part 2, it is now time to turn our eye towards memory-optimized storage structures in SQL Server. Memory-optimized s...

Part three of my in-depth series on storage structures is live. Do you want to read all the ins and outs of memory-optimized tables and indexes? Look no further!

sqlserverfast.com/blog/hugo/20...

13.02.2026 17:40 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Optimized Locking part 1: Transaction ID Locking - SQLServerFast SQL Server 2025 introduced Optimized Locking. Not one, but two features, sharing a single marketing name. Transaction ID (TID) Locking One of these two features is Transaction ID (TID) Locking. Slated...

My new vlog is live. Time to look at Optimized Locking in SQL Server 2025.

What is Transaction ID Locking? What problem does it solve, how does it work, and what are the limitations? Find out here!

sqlserverfast.com/blog/hugo/20...

12.02.2026 15:59 πŸ‘ 4 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0

New defence strategy. Toss lumps of coal at the enemy.

11.02.2026 09:28 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
a picture of an old man with glasses sitting down with his arm out and another man leaning over and touching him. The back ground is yellow.

a picture of an old man with glasses sitting down with his arm out and another man leaning over and touching him. The back ground is yellow.

Kindness is a language that the deaf can hear and the blind can see.
Be kind, always.

11.02.2026 08:34 πŸ‘ 3 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0
Preview
T-SQL Tuesday 195 – Code that aged well - SQLServerFast It’s the second Tuesday of the month again. Time for T-SQL Tuesday, edition 195. This edition is hosted by Pat Wright, who wants to know whether our code aged well. The timing of that question could n...

My #tsqltuesday contribution for today, where I shed off all modesty and shamelessly brag about the great things I did in the past!

sqlserverfast.com/blog/hugo/20...

10.02.2026 13:18 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Storage structures 2 – Columnstore - SQLServerFast Update February 4, 2026: I have updated this post with new information, about deleted bitmaps, and about the delete buffer for nonclustered columnstore indexes. In the first part of this series, I des...

I discovered that my blog post about columnstore indexes missed crucial information about the delete buffer for nonclustered columnstore indexes, and that I had gotten a little something wrong about the deleted bitmap. And so, I just updated that post.

sqlserverfast.com/blog/hugo/20...

04.02.2026 13:48 πŸ‘ 1 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0
Preview
Rowgoals, part 3: When rowgoals backfire - SQLServerFast In part 1 of this mini-series, I explained what a rowgoal is and how it works to optimize a query with a TOP or FETCH expression. Part 2 then showed a few less obvious other cases where the optimizer ...

My next vlog post is live. In the third and final part of my series on rowgoals, I show how they can backfire and hurt instead of help performance.

sqlserverfast.com/blog/hugo/20...

02.02.2026 11:19 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Parameter Table Scan - SQLServerFast Introduction The Parameter Table Scan operator reads the internal rowset that’s produced during an INSERT … EXEC statement. This rowset contains the output of the executed code, which can be a stored ...

Yet another step closer to completion. I just published the page for the Parameter Table Scan operator to the #SQLServer Execution Plan Reference.

Plus a few other minor changes: check the change log.

sqlserverfast.com/epr/paramete...
sqlserverfast.com/epr/change-l...

01.02.2026 16:55 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Storage structures 2 – Columnstore - SQLServerFast In the first part of this series, I described the storage structure and access patterns for SQL Server’s traditional storage structure: on-disk rowstore indexes (heaps and B-trees). Columnstore indexe...

I just published part 2 of my series on storage structures. In this part, I describe how columnstore indexes are stored and how they can be accessed.

sqlserverfast.com/blog/hugo/20...

30.01.2026 16:08 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Congratulations, and good luck in this next step of your professional life, Alexander!

27.01.2026 08:29 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

BlueSky, hulp nodig voor een wonder!
Een vriendin van mij is dakloos en dat is een groot probleem. Ze gaat er fysiek aan onderdoor deze winter.
Ze heeft woonruimte nodig in Ede of omliggende dorpen. Gewoon een kamer met gedeelde faciliteiten is al prachtig. Ze heeft inkomen, kan huur betalen.
RP=πŸ’—

25.01.2026 14:19 πŸ‘ 39 πŸ” 145 πŸ’¬ 6 πŸ“Œ 2

Welcome to the world of Navision!

25.01.2026 15:24 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Rowgoals, part 2: Rowgoals in unexpected places - SQLServerFast In my previous vlog, I showed how and why the optimizer uses a rowgoal in the execution plan when your query uses a TOP or FETCH expression. Those are the keywords where this rowgoal is very obvious. ...

I had planned to put this live sooner, but I was rather busy. But it's here now!

My new vlog continues the discussion of rowgoals by showing that they may exist where you do not expect them!

#SQLServer #ExecutionPlans

sqlserverfast.com/blog/hugo/20...

25.01.2026 12:58 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Rowgoals, part 1: How do rowgoals work? - SQLServerFast For my second vlog, I decided to talk about rowgoals. First an explanation of what they are, then an overview of some obvious and some not so obvious cases where the optimizer will use a rowgoal, and ...

My new vlog. First in a series of three on rowgoals. This video explains what they are, what they are used for, and how they work.

#SQLServer #ExecutionPlans

sqlserverfast.com/blog/hugo/20...

17.01.2026 13:41 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
A picture saying kindness is your super power and

A picture saying kindness is your super power and

When in doubt, choose kindness.
Let kindness be your superpower.

15.01.2026 10:24 πŸ‘ 2 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Preview
Self-promo: Precon opportunities - SQLServerFast I am normally not very good at promoting myself. I always forget to use the social media banners that conference organizes helpfully send me. And while I do have a list of upcoming speaking engagement...

Blogged: Self-promo. Opportunites to attend my precon, and what you get out of it.

sqlserverfast.com/blog/hugo/20...

14.01.2026 11:51 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 1
Preview
Problems purchasing videos? - SQLServerFast I started the SQLServerFast Execution Plan Video Training in 2020. At that time, I chose Vimeo as the platform to use for hosting and selling my videos. The major reason for this choice was their adve...

Have you experienced problems when buying access to the SQLServerFast Execution Plan Video Training videos?
Read my blog!
#SQLServer

sqlserverfast.com/blog/hugo/20...

10.01.2026 13:20 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Foreign Key References Check - SQLServerFast Introduction The Foreign Key References Check operator is used to verify foreign key relations after a delete or update operation. It is normally only used for tables that are referenced by more than ...

The amount of time I spent to research this and get it all right is not proportional to how rare it is. The bane of being a perfectionist!

New #SQLServer Execution Plan Reference Page - all about the Foreign Key References Check operator!

sqlserverfast.com/epr/foreign-...

08.01.2026 14:15 πŸ‘ 5 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

Oops. Wrong platform. No grok here.
But spoiler: The USA is on that list.

07.01.2026 17:10 πŸ‘ 3 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Hey @grok, please list all countries that do not recognise the authority of the International Criminal Court in The Hague?

07.01.2026 17:08 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Change log - SQLServerFast This site has different types of readers. Those that come here to quickly look up something, using it as the reference this is. And those that read everything, or at least the pages they consider inte...

Today, after a much too long delay, I pushed a long list of updates to the #SQLServer Execution Plan Reference. No new page yet (but there will be one soon!)

For a full list of changes, see the change log.

sqlserverfast.com/epr/change-l...

07.01.2026 16:35 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
A new experiment for 2026 - SQLServerFast It is January 1st, 2026. So let me first use this opportunity to wish all my readers a very good 2026, with lots of performance gains in your servers, lots of new insights into SQL Server, … but most ...

I'm trying something new (for me) this year: blogging in video format! My first one is up. Are you aware what happens to results and performance when you use the defaults of the OVER clause?
#sqlserver

sqlserverfast.com/blog/hugo/20...

01.01.2026 12:20 πŸ‘ 6 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0