Sign in

Hugo Kornelis

@hugokornelis.bsky.social
400 followers 118 following 229 posts

Husband, father of two, loves SQL Server execution plans

PostsRepliesMedia
Hugo Kornelis @hugokornelis.bsky.social · 04/10/2026
New blog alert! In my series on storage structures, I look at spatial indexes this time. What is tessellation, how is that used in the index, and how is that index then used in execution plans? sqlserverfast.com/blog/hugo/20...
sqlserverfast.com
Storage structures 7 – Spatial indexes - SQLServerFast.com
Welcome back to the series on internals of storage structures. I first covered the standard storage types in the episodes on on-disk rowstore, columnstore indexes, memory-optimized storage, and memory...
020
Hugo Kornelis @hugokornelis.bsky.social · 30/09/2026
Forced by circumstances, I had to build my own shop for the SQLServerFast Execution Plan Video Training. This shop is now live! Read all about it in my latest blog post: sqlserverfast.com/blog/hugo/20...
sqlserverfast.com
New shop! - SQLServerFast.com
Two and a half months ago, I informed you that Vimeo decided to shut down their VOD service, forcing me to find a new platform for hosting my videos and handling the sales. For me, that meant a lot of...
021
Hugo Kornelis @hugokornelis.bsky.social · 29/09/2026
I just added another new page to the #SQLServer Execution Plan Reference, to describe the Iterator icon, that, according to MS, is used when no specific icon is available ... except it isn't. sqlserverfast.com/epr/iterator/
sqlserverfast.com
Iterator - SQLServerFast.com
Introduction The Iterator icon is not actually an operator. It is just an icon, intended to be used to represent operators for which no dedicated icon is available. I have so far only seen this icon b...
030
Hugo Kornelis @hugokornelis.bsky.social · 19/09/2026
Yet another step closer to completion. I just published the Cursor page on the #SQLServerFast Execution Plan Reference. Plus, as usual, a bunch of updates to existing pages. See the change log for the full list! sqlserverfast.com/epr/cursor/ sqlserverfast.com/epr/change-l...
sqlserverfast.com
Cursor - SQLServerFast.com
Introduction The Cursor icon is not actually an operator. It is just an icon, similar to Language Element, but used specifically for cursor statement that do not need their own dedicated execution pla...
041
Hugo Kornelis @hugokornelis.bsky.social · 16/09/2026
New blog post! In this detailed and deep #SQLServer #Plansplaining post, I revisit the execution plan for frameless window aggregation (OVER without ORDER BY), to address some details previously overlooked, which leads me to uncover a bug and an invisible property. sqlserverfast.com/blog/hugo/20...
sqlserverfast.com
Plansplaining part 35. A bug in Table Spool and an invisible property on Stream Aggregate - SQLServerFast
Welcome back to the plansplaining series. Probably the one with the longest, and least clickbaity title. The idea of plansplaining is to take a single execution plan and then fully dissect it, until e...
052
Hugo Kornelis @hugokornelis.bsky.social · 01/09/2026
It's been a while. But here is a new update to my leukemia diary. sqlserverfast.com/blog/hugo/20...
sqlserverfast.com
A new treatment starts - SQLServerFast
(Warning: This blog post is non-technical but purely personal. In my leukemia diary, I write openly about my current health issues. This blog might be triggering for people who struggle with, or lost ...
270
Hugo Kornelis @hugokornelis.bsky.social · 24/08/2026
I just published another update to the #SQLServer Execution Plan Reference. Two new pages: COND and COND WITH QUERY. Three updated pages: Plan properties, Table Spool, and Window Spool. All links are here: sqlserverfast.com/epr/change-l...
sqlserverfast.com
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...
060
Hugo Kornelis @hugokornelis.bsky.social · 05/08/2026
Today's update to the #SQLServer Execution Plan Reference is small in comparison to many previous updates: just a new page that describes the weird and dangerous behavior of the last cursor "operator": Fast Forward. sqlserverfast.com/epr/fast-for...
sqlserverfast.com
Fast Forward - SQLServerFast
Introduction The Fast Forward “operator” is not actually an operator. It is the equivalent of the Language Element “operator” for the container of a fast forward cursor. The Fast Forward operator is n...
011
Hugo Kornelis @hugokornelis.bsky.social · 19/07/2026
I just published a MASSIVE update to the #SQLServer Execution Plan Reference. There are 4 new pages, for operations on JSON indexes, plus an additional 15(!) pages with various updates. Check out the Change Log for a full overview. sqlserverfast.com/epr/change-l...
sqlserverfast.com
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...
094
Hugo Kornelis @hugokornelis.bsky.social · 17/07/2026
I just published another blog post. Finally a technical post again. Here, I dive deep into the internal structure of JSON indexes in #SQLServer. sqlserverfast.com/blog/hugo/20...
sqlserverfast.com
Storage structures 6 – JSON indexes - SQLServerFast
It’s time to continue the series on internals of storage structures. I already covered the more standard storage types in the parts about on-disk rowstore, columnstore indexes, memory-optimized storag...
280
Hugo Kornelis @hugokornelis.bsky.social · 16/07/2026
Time for another (short) update on my leukemia situation: sqlserverfast.com/blog/hugo/20...
sqlserverfast.com
Slow progress is better than no progress - SQLServerFast
(Warning: This blog post is non-technical but purely personal. In my leukemia diary, I write openly about my current health issues. This blog might be triggering for people who struggle with, or lost ...
140
Hugo Kornelis @hugokornelis.bsky.social · 11/07/2026
New blog post - trying to fix the mess that Vimeo made. Please read, especially if you own any of my SQLServerFast Execution Plan Video Training videos. sqlserverfast.com/blog/hugo/20...
sqlserverfast.com
Vimeo messed up, and you and I get the consequences - SQLServerFast
I am furious right now. Vimeo has made a mistake, and as a result, the SQLServerFast Execution Plan Video Training is currently not available for viewing. Vimeo’s announcement Four days ago, I got a n...
011
Hugo Kornelis @hugokornelis.bsky.social · 07/07/2026
It's #tsqltuesday again. Edition #200. Here is my contribution: sqlserverfast.com/blog/hugo/20...
sqlserverfast.com
T-SQL Tuesday 200 – Query red flags - SQLServerFast
When Adam Machanic started T-SQL Tuesday, I bet that nobody, least of all himself, expected it to run for over ten years. Yet, here we are. Not ten, but over 16 years later. Or 200 months, to be exact...
010
Hugo Kornelis @hugokornelis.bsky.social · 07/07/2026
It's that time of year again ... yes, another update to the #SQLServer Execution Plan Reference! New page added: Keyset. Page with major changes: Window Spool. Small correction and addition: Scalar Functions. sqlserverfast.com/epr/change-l...
sqlserverfast.com
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...
030
Hugo Kornelis @hugokornelis.bsky.social · 30/06/2026
I just posted a new blog. Another entry in my #Plansplaining series, but also a follow up to my post on XML indexes from two weeks ago. sqlserverfast.com/blog/hugo/20...
sqlserverfast.com
Plansplaining part 34 - XML indexes revisited - SQLServerFast
Welcome back to my plansplaining blog series, where I dive deep into the details of non-obvious execution plans. This part is also a sort of follow up on my post from two weeks ago, when I wrote about...
010
Hugo Kornelis @hugokornelis.bsky.social · 27/06/2026
I just published the next entry in my ongoing Leukemia diary on my blog. sqlserverfast.com/blog/hugo/20...
sqlserverfast.com
Change is the only constant - SQLServerFast
(Warning: This blog post is non-technical but purely personal. In my leukemia diary, I write openly about my current health issues. This blog might be triggering for people who struggle with, or lost ...
550
Hugo Kornelis @hugokornelis.bsky.social · 23/06/2026
I just published an update to the #SQLServer Execution Plan Reference. A few minor changes (see Change Log), and a new page, to describe the Snapshot "operator". sqlserverfast.com/epr/snapshot/
sqlserverfast.com
Snapshot - SQLServerFast
Introduction The Snapshot “operator” is not actually an operator. It is the equivalent of the Language Element “operator” for the container of a static cursor. The Snapshot operator is not used in an ...
040
Hugo Kornelis @hugokornelis.bsky.social · 19/06/2026
Exactly a month after the last post in my leukemia diary, I have written another update. About that last month, but mostly the last week. sqlserverfast.com/blog/hugo/20...
sqlserverfast.com
Another crazy week - SQLServerFast
(Warning: This blog post is non-technical but purely personal. In my leukemia diary, I write openly about my current health issues. This blog might be triggering for people who struggle with, or lost ...
560
Hugo Kornelis @hugokornelis.bsky.social · 16/06/2026
I just published a new blog post! This is part 5 in my series on storage structures, in which I look at how XML indexes are stored and queried. sqlserverfast.com/blog/hugo/20...
sqlserverfast.com
Storage structures 5 – XML indexes - SQLServerFast
After covering on-disk rowstore, columnstore indexes, memory-optimized storage, and memory-optimized columnstores, it is now time to turn our attention to storage structures that are used for specific...
010
Hugo Kornelis @hugokornelis.bsky.social · 15/06/2026
I just published another update to the #SQLServer Execution Plan Reference. The new page describes the Dynamic "operator". As always, there are also a few updates to other pages. sqlserverfast.com/epr/change-l...
sqlserverfast.com
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...
000
Hugo Kornelis @hugokornelis.bsky.social · 13/06/2026
Over the past months, I have published extensive updates to some of my existing Execution Plan Video Training videos for #SQLServer. Read all about how this affects you ... and how to benefit before the prices go up! sqlserverfast.com/blog/hugo/20...
sqlserverfast.com
Video training update 2026 - SQLServerFast
During the past months, in between working on new videos, I have also made various updates to existing videos in the SQLServerFast Execution Plan Video Training. Since I pushed two really big updates ...
020
Hugo Kornelis @hugokornelis.bsky.social · 06/06/2026
Optional Parameter Plan Optimization, introduced in #SQLServer 2025, is really a great idea. But with its current terrible implementation, I actively dislike this feature. Want to know why? Check my latest vlog! sqlserverfast.com/blog/hugo/20...
sqlserverfast.com
Optional Parameter Plan Optimization - SQLServerFast
It’s time to finish the triptych on bad parameter sniffing, and how Microsoft tries (and fails) to fix this for you. After first talking about bad parameter sniffing in general, I used my last video t...
131
Hugo Kornelis @hugokornelis.bsky.social · 29/05/2026
Yet another step closer to completion of the #SQLServer Execution Plan Reference. I just added the page for the Fetch Query "operator". Plus, as usual, a bunch of smaller and larger updates to other pages. sqlserverfast.com/epr/fetch-qu... sqlserverfast.com/epr/change-l...
sqlserverfast.com
Fetch Query - SQLServerFast
Introduction The Fetch Query “operator” is not actually an operator. It is the equivalent of the Language Element “operator” for one of the two queries contained in a cursor definition. The Fetch Quer...
0123
Hugo Kornelis @hugokornelis.bsky.social · 27/05/2026
New blog! In which I continue my series on storage structures, this time focusing on the (little used) memory-optimized columnstore index. sqlserverfast.com/blog/hugo/20...
sqlserverfast.com
Storage structures 4 – Memory-optimized columnstore - SQLServerFast
Time for the next part in my series on storage structures. The previous parts covered on-disk rowstore, columnstore indexes, and memory-optimized storage. In this part, I will look at the combination ...
040
Hugo Kornelis @hugokornelis.bsky.social · 23/05/2026
My new video blog is out. I take a detailed and critical look at PSPO, the feature that Microsoft introduced in #SQLServer 2022 to help alleviate the pain of bad parameter sniffing. But does it really deliver as expected? Well, that depends on how much you expect! sqlserverfast.com/blog/hugo/20...
sqlserverfast.com
Parameter Sensitive Plan Optimization - SQLServerFast
Bad hair day? Try having an almost-no-hair month! Jokes aside. It has been almost six weeks since my last video blog. Not really the schedule I had planned. But I believe I have good reasons. Anyway, ...
040
Hugo Kornelis @hugokornelis.bsky.social · 19/05/2026
A new update in my leukemia diary just went live. sqlserverfast.com/blog/hugo/20...
sqlserverfast.com
Back on track - SQLServerFast
(Warning: This blog post is non-technical but purely personal. In my leukemia diary, I write openly about my current health issues. This blog might be triggering for people who struggle with, or lost ...
040
Reposted by Hugo Kornelis
Rob Sewell He/Him @robsewell.com · 18/05/2026
A sticker saying You can be anything,  be kind in red letters on a black background
023
Hugo Kornelis @hugokornelis.bsky.social · 12/05/2026
I just published a new update to the #SQLServer Execution Plan Reference. I added a page, with the description of the Population Query "operator". I also updated and improved many existing pages, detailed on the Change Log page. sqlserverfast.com/epr/populati... sqlserverfast.com/epr/change-l...
sqlserverfast.com
Population Query - SQLServerFast
Introduction The Population Query “operator” is not actually an operator. It is the equivalent of the Language Element “operator” for one of the two queries contained in a cursor definition. The Popul...
041
Hugo Kornelis @hugokornelis.bsky.social · 09/05/2026
I just published a new "Leukemia Diary" post on my blog, where I talk about a week that had me bouncing between despair and hope. Multiple times. sqlserverfast.com/blog/hugo/20...
sqlserverfast.com
Between despair and hope - SQLServerFast
(Warning: This blog post is non-technical but purely personal. In my leukemia diary, I write openly about my current health issues. This blog might be triggering for people who struggle with, or lost ...
032
Hugo Kornelis @hugokornelis.bsky.social · 21/04/2026
In my new blog post, I ask you to help me for a change. Do you have suggestions for a good video hosting platform? Please let me know! sqlserverfast.com/blog/hugo/20...
sqlserverfast.com
Request for help – video hosting - SQLServerFast
I create a lot of videos for the SQL Server community. These come in three categories. Recordings of conference sessions. Sometimes made by myself, sometimes by the conference organization. Typically ...
011
Hugo Kornelis @hugokornelis.bsky.social · 13/04/2026
My new vlog is live! I explain parameter sniffing, show when and how it can turn bad, and give many options for how to fix those issues. sqlserverfast.com/blog/hugo/20...
sqlserverfast.com
Bad parameter sniffing, what is it and what can you do about it - SQLServerFast
Time for a new video blog. This time, the topic is bad parameter sniffing. And with 43 minutes, the video is a bit longer than what I normally shoot for. What is it? What can you do about it? The vide...
010
Hugo Kornelis @hugokornelis.bsky.social · 09/04/2026
Time for a new update of my Leukemia Diary. Only good news this time! sqlserverfast.com/blog/hugo/20...
sqlserverfast.com
Home for now - SQLServerFast
(Warning: This blog post is non-technical but purely personal. In my leukemia diary, I write openly about my current health issues. This blog might be triggering for people who struggle with, or lost dear ones to, cancer and other similar diseases.) In my previous post, I wrote about the ups and downs as I was...
370
Hugo Kornelis @hugokornelis.bsky.social · 31/03/2026
A new post in my #Leukemia diary is live. I talk about a week with insane ups and downs -- mostly mental. sqlserverfast.com/blog/hugo/20...
sqlserverfast.com
Ups and downs - SQLServerFast
(Warning: This blog post is non-technical but purely personal. In my leukemia diary, I write openly about my current health issues. This blog might be triggering for people who struggle with, or lost ...
160
Reposted by Hugo Kornelis
Rob Sewell He/Him @robsewell.com · 25/03/2026
A sticker saying You can be anything be kind in purple lettering on a black background
1102
Hugo Kornelis @hugokornelis.bsky.social · 23/03/2026
To be where I need to be (while really wishing I was somewhere else!) New blog post with an update on my leukemia situation. sqlserverfast.com/blog/hugo/20...
sqlserverfast.com
To be where I need to be - SQLServerFast
(Warning: This blog post is non-technical but purely personal. In my leukemia diary, I write openly about my current health issues. This blog might be triggering for people who struggle with, or lost ...
460
Reposted by Hugo Kornelis
Rob Sewell He/Him @robsewell.com · 18/03/2026
A sticker saying You can be anything,  be kind in red letters on a black background
011
Hugo Kornelis @hugokornelis.bsky.social · 16/03/2026
My new vlog is live. Recorded in the hospital, so not the usual camera and sound quality. But as long as I am able to create and share content, I will! sqlserverfast.com/blog/hugo/20...
sqlserverfast.com
SQL injection, and how to prevent it - SQLServerFast
For a change, a video about security, rather than performance and execution plans. Why? Well, that should become clear in my next planned videos. Although I really can’t predict when I’ll be able to r...
021
Hugo Kornelis @hugokornelis.bsky.social · 15/03/2026
I just blogged with an update on my leukemia treatment. First days in hospital, and the work I have been doing. sqlserverfast.com/blog/hugo/20...
sqlserverfast.com
Back in hospital - 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...
073
Hugo Kornelis @hugokornelis.bsky.social · 06/03/2026
Please do! Every stem cell increases increases the survival chance for someone in this world.
221
Reposted by Hugo Kornelis
Taiob Ali @sqlworldwide.bsky.social · 06/03/2026
If you want to register as a stem cell donor in USA. Takes five minutes only. swabapp.giftoflife.org/links/5yhp
swabapp.giftoflife.org
011
Hugo Kornelis @hugokornelis.bsky.social · 05/03/2026
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...
sqlserverfast.com
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...
200
Hugo Kornelis @hugokornelis.bsky.social · 26/02/2026
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...
sqlserverfast.com
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...
000
Hugo Kornelis @hugokornelis.bsky.social · 22/02/2026
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...
sqlserverfast.com
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...
010
Hugo Kornelis @hugokornelis.bsky.social · 18/02/2026
"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?
000
Hugo Kornelis @hugokornelis.bsky.social · 15/02/2026
Several great opportunities to learn about execution plans, in the near future. sqlserverfast.com/blog/hugo/20...
sqlserverfast.com
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...
000
Reposted by Hugo Kornelis
Jamie Wick @jamie-wick.bsky.social · 13/02/2026
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
dayofdata.org
Day of Data Richmond 2026 (#1135)
001
Hugo Kornelis @hugokornelis.bsky.social · 13/02/2026
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...
sqlserverfast.com
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...
020
Hugo Kornelis @hugokornelis.bsky.social · 12/02/2026
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...
sqlserverfast.com
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...
042
Reposted by Hugo Kornelis
Rob Sewell He/Him @robsewell.com · 11/02/2026
Kindness is a language that the deaf can hear and the blind can see. Be kind, always.
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.
032
Hugo Kornelis @hugokornelis.bsky.social · 10/02/2026
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...
sqlserverfast.com
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...
000