Keep on going

No Comments
(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.) It’s been over a month since I last gave an update on my leukemia situation. At that time, I was getting ready to start the experimental treatment of a new CAR-T drug. And when I say experimental and new, I mean what I say. Only 18 patients before me have received this drug. The first 12 with another dosage.…
Read More

Storage structures 7 – Spatial indexes

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-optimized columnstores, and I then started to explore specialized storage structures in the parts on XML indexes and JSON indexes. It is now time to look at spatial indexes. Tessellation To understand spatial indexes, we first need to understand a process known as “tessellation”. This is a process where a shape is divided into smaller elements, that then can be recursively divided even further, to result in a list of cells with,…
Read More

New shop!

No Comments
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 extra work: finding a new host, then transferring all my content over there, and configuring and setting up the sales platform. But it’s extra work for you as well, if you ever purchased one of my videos. Vimeo refuses to tell me who bought my videos, claiming privacy reasons. So the only way for me to ensure that those who…
Read More

Plansplaining part 35. A bug in Table Spool and an invisible property on Stream Aggregate

No Comments
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 every little thing that is happening is fully exposed and clarified. However, I am only human. I may miss things. And in this case, some things I missed in one of the earliest plansplaining posts are sufficiently interesting to return to that post and talk about the little details that don’t match up, and then make them match up. Frameless window The OVER clause, that can be…
Read More

A new treatment starts

2 Comments
(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.) There has been a long silence in my leukemia diary. Not because nothing happened, but because I kept waiting for the next bit of news. And then the next. I just received news that is totally worthy of an update. So here we go. Second round My last update was between the first and second round of the AZA-VEN…
Read More

Storage structures 6 – JSON indexes

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 storage, and memory-optimized columnstores, and in the last episode of this series I started to cover specialized storage structures by looking at XML indexes. Microsoft introduced limited JSON support in SQL Server 2016. However, it took until SQL Server 2025 before the native json data type and JSON indexes were introduced. So let’s look at how these work under the cover. I have so far not played with JSON data. So I…
Read More

Slow progress is better than no progress

(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.) It’s now almost three weeks since my last update. I finished the seven days of a daily trip to Amsterdam for the azacitidine shot, then continued to take the daily venetoclax pill, as instructed. Plus of course all my various other pills, that I probably never even mentioned here. They have become a kind of routine by now. And…
Read More

Vimeo messed up, and you and I get the consequences

EDIT 1: I have confirmed receipt of all mails about owned blocks and levels. If you did not receive a confirmation, then please use the contact form to reach out to me. EDIT 2: It took some time, but eventually Vimeo Customer Support managed to get my account restored, get the videos online again, and sent me instructions how to repair the embed links on the video pages. All videos should be available for purchase and/or viewing again. I am furious right now. Vimeo has made a mistake, and as a result, the SQLServerFast Execution Plan Video Training is currently…
Read More

T-SQL Tuesday 200 – Query red flags

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. This anniversary edition is hosted by Brent Ozar. And his chose topic is: query red flags. Things that make you groan when you open a query and see them in the code. I’m sure there will be a ton of posts, because there are so many. I myself could probably fill a book with things I consider a red flag (and…
Read More

Plansplaining part 34 – XML indexes revisited

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 the structure and usage of XML indexes, and had to admit that I had not been able to come up with good use cases for all types of secondary XML index. That very same day, I received an email from Mikael (Micke) Eriksson, who pointed me to this question and answer on Stack Exchange for Database Administrators. I then modified that example…
Read More

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