Another crazy week

(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 exactly a month after my last leukemia diary entry. Not much happened for most of that time. And then a lot happened. May 18 until June 3 Yes, I know that this entry starts even before my last diary entry, which was May 19. Deal with it. During this period, originally planned for two weeks, but then extended…
Read More

Storage structures 5 – XML indexes

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 datatypes only. The first “victim” will be the XML index. When you need to store XML data in a SQL Server database, you can choose between two data types, each with their pros and cons. You can choose to store the XML data as nvarchar(max). This preserves the exact content of the XML as you received it, which might be required for legal reasons. However, any query that cares about the specific content…
Read More

Video training update 2026

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 (over half an hour of added content!) live today, I decided that now is a good time to let everyone know what I changed. But let’s first address a few questions you might have. Questions and answers How does this affect the prices? Many of the changes are small, as you will see in the overview below. However, two videos have been extended with a significant amount…
Read More

Optional Parameter Plan Optimization

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 to explain Parameter Sensitive Plan Optimization, the feature that Microsoft released in SQL Server 2022 as an attempt to fix one of the three root causes for bad parameter sniffing. If you want to see why I consider that a failed attempt, go watch that video. In SQL Server 2025, Microsoft then added Optional Parameter Plan Optimization (OPPO). Their attempt to fix the second of…
Read More

Storage structures 4 – Memory-optimized columnstore

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 of the latter two: memory-optimized columnstore indexes. Memory-optimized columnstore indexes were introduced in SQL Server 2016. I’ve seen some slick Microsoft marketing sessions in that time that were big on “real-time operational analytics”. A new trend where analytical processing would no longer be done on a stale copy of the data in a separate data warehouse, but directly on the OLTP database. Reports would always be fully current, there…
Read More

Parameter Sensitive Plan Optimization

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, I do have a new video ready now. As promised in my last video, I now cover Parameter Sensitive Plan Optimization (PSPO), a new feature, introduced in SQL Server 2022, that is supposed to alleviate the pain of bad parameter sniffing. PSPO, the answer to bad parameter sniffing? The first part of the video explains the feature, and how it is intended to work.…
Read More

Back on track

(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.) My last leukemia diary entry ended with a large question mark. What will my hematologist tell me when I see her again? What treatment will she recommend? What happened? No idea! Do you know this scenario? A new prospect calls. You have never seen their database system yet. But they do expect you to give a coherent and relevant…
Read More

Between despair and hope

(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 a while since I last blogged about my leukemia. A full month, to be exact. In the first three weeks of that month, nothing special happened. I was home. I felt good. I made sure to get my daily walk in, to rebuild my fitness (well, except that one day when it was 25°C [77°F], and I…
Read More

Request for help – video hosting

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 uploaded to YouTube by the one who made the recording. I have links to all recordings that I know of in my session list. These are free to watch, and they come as is. They were recorded during a live delivery, you simply see what is recorded. No editing. I do usually add captions when I record them myself, but when others recorded and uploaded them, they usually only come…
Read More

Bad parameter sniffing, what is it and what can you do about it

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 video starts with an explanation of two good features: parameter sniffing and plan caching. But those features can interact in an unwanted way, resulting in erratic bad performance. Now we have what I call “bad parameter sniffing”. Starting at approximately 8:30, I then describe the three most common root causes for bad parameter sniffing: equality filters on a column with…
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