Latest blog posts

Erik Darling and Kendra Little Talk AI, Databases, and SQL Server 2025

December 9, 2025 2 min read

Erik Darling joins me on the Dear SQL DBA Podcast to chat about AI tools, why they work better for Python and PowerShell than SQL, and what’s exciting (and what’s not) in SQL Server 2025.

Along the way we describe the ONE THING we always want to configure in Resource Governor, why at least one SQL Server 2025 feature should be backported to 2022, and whether the universe is text files all the way down.

Continue reading

Azure SQL Managed Instance Memory-to-Core Math Still Doesn't Work, Even in GPv2

December 8, 2025 7 min read

Microsoft recently announced that Azure SQL Managed Instance Next-gen General Purpose (GPv2) is now generally available. GPv2 brings significant storage performance improvements over GPv1, and if you’re using GPv1, you should plan to upgrade.

But GPv2 still has the same memory-to-core ratio problem that makes Managed Instance a rough deal for running SQL Server. SQL Server is engineered to use lots of memoryβ€”it’s a rare OLTP or mixed-OLTP workload that doesn’t need significant cache for reliable performance. We’ll have a look at the pricing math.

Continue reading

Index Bloat in Postgres: Why It Matters, How to Identify, How to Resolve

December 1, 2025 7 min read

Index bloat in Postgres can cause problems, but it’s easy to miss.

I’ve written about how vacuum problems can prevent PostgreSQL from using covering indexes, and index bloat is one of the things that can make vacuum struggle.

Here’s what you need to know about index bloat, how to find it, and how to fix it.

Continue reading

How to See Rowcounts and Execution Time for In-Flight Queries in SQL Server

November 24, 2025 4 min read

I frequently need to see rowcounts and execution time for queries while they’re running. Maybe I’m troubleshooting a slow query that’s still executing, or I want to understand which operators are causing the slowdown before the query completes.

Last week at the PASS Summit I learned some little nuances about how this works that I’d missed.

Continue reading

Latest SQLComics

SQL Corgs Explain Inner Joins

Joins are essential. The SQL Corgs introduce you to INNER joins in this animated short. When you need to combine data from multiple tables, INNER joins are your go-to tool: they only return rows where there’s a match in both tables.

Watch as Freyja and Stormy demonstrate how matching on color brings their favorite toys together, with sample code you can run yourself.

Check It Out

Awkward Unicorn Explains Database Normalization

Why do we “normalize” relational databases, and what are the basics? Awkward Unicorn explains, with a little help from their friends.

Database normalization helps you organize data efficiently, reduce redundancy, and prevent update anomalies. It’s one of those foundational concepts that makes everything else in database design make more sense.

Check It Out

SQL Basics (SELECT, FROM, WHERE) with Freyja the Corgi

Freyja the corgi shares her tips for learning SQL: SELECT, FROM, and WHERE. These three keywords form the foundation of almost every query you’ll write. SELECT tells you what columns to return, FROM specifies which table to query, and WHERE filters the rows.

Once you’ve got these down, you’re well on your way to writing effective SQL queries. Now that I’m getting the hang of this, I think I’m going to do a whole series of shorts on SQL syntax essentials, plus tips and tricks!

Check It Out

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. Meet Rita the Raccoon, who’s here to help explain SQL concepts in a way that’s both educational and delightfully unexpected.

This is the first in what I hope will be a fun series of animated SQL tutorials featuring my favorite characters.

Check It Out