Rita the Raccoon Writes SQL
I learned to make short form videos with my drawings this week, and, well… things are about to get weirder.
on March 28, 2024
I learned to make short form videos with my drawings this week, and, well… things are about to get weirder.
on March 24, 2024
Nested loop join operators tend to look quite innocent in an estimated query execution plan. But life ain’t always so simple.
on March 11, 2024
Thanks to Erik Darling for pointing out that it needed a little teeth.
on March 4, 2024
I drew out a first visualization of how the shared plan cache in SQL Server is used when you run a query. I’m pretty sure I’ll refine and and elaborate on this in the future, so let’s call this the v1.
By Kendra Little on December 15, 2023
One feature I’ve not appreciated enough in the past in SQL Server is Resource Governor.
Resource Governor allows you to fix problems with Memory Grants in a simple way, as Erik Darling recommends. It also lets you classify sessions into groups and limit the maximum number of simultaneous requests, and /or limit the degree of parallelism if you need more CPU for other workloads. While this will slow down the queries you classify into that group, this can be super useful, especially if you’re already using something like Snapshot isolation to prevent blocking or you are using a read-only replica.
In Azure SQL Managed Instance, you get to use Resource Governor, even in the General Purpose tier. This is awesome.
Just make sure you execute commands in the context of the master database, or you’ll get error 40510: Statement 'ALTER RESOURCE GOVERNOR' is not supported in this version of SQL Server.
It is supported! Just USE master;
before running your commands.
By Kendra Little on December 8, 2023
Spoiler: a large amount of features from SQL Server 2022 are missing from Azure SQL Managed Instance. Some major features are missing that were introduced in SQL Server 2019– and here we are just a few weeks away from 2024.
But Microsoft’s top-line marketing claims about Azure SQL Managed Instance remain that “it’s always up to date with the latest SQL features and functionality.”
Let’s dig into some of the documented highlights on missing features, so you can decide for yourself what to think of that statement.
By Kendra Little on October 4, 2023
I shared an image on social media this week that describes how I feel about isolation levels in SQL Server (and its various flavors): the more concurrent sessions you have in a database reading and writing data at the same time, the more attractive it is to use version-based optimistic locking for scalability reasons.
There are two isolation levels in SQL Server that use optimistic locking for disk-based tables:
Many folks get pretty nervous about RCSI when they learn that certain timing effects can happen with data modifications that don’t happen under Read Committed. The irony is that RCSI does solve many OTHER timing risks in Read Committed, and overall is more consistent, so sticking with the pessimistic implementation of Read Committed is not a great solution, either.
By Kendra Little on September 26, 2023
In this episode, Michael J Swart joins the Dear SQL DBA podcast to talk about databases, automation, and how he’s come to illustrate some of the coolest blog posts ever to be written about data.
Check out Michael’s art and blog posts at michaeljswart.com, and explore his posts by illustration at https://michaeljswart.com/browse-articles-by-illustration/.
Copyright (c) 2024, Catalyze SQL, LLC; all rights reserved. Content policy: Short excerpts of blog posts (3 sentences) may be republished, but longer excerpts and artwork cannot be shared without explicit permission.