Press "Enter" to skip to content

Day: August 19, 2026

Large Language Models for Data Professionals

Eugene Meidinger has a primer:

It’s tempting to think that working with LLMs and AI agents doesn’t require understanding anything about how they work. These tools are often presented as autonomous, intelligent, and self-explanatory. They communicate through conversational text, making them feel natural and intuitive, and can often even seem like magic.

In practice, however, these intuitions about LLMs are often very wrong. LLMs are a strange technology. As we stack tools and agent interfaces (or harnesses) on top of them, more and more misunderstandings also stack up. Treating them as an easy button leads to layers of frustration, waste, and, in the worst-case scenario, mistakes.

This is a nice baseline to get someone started with understanding LLM output behavior. It’s not a how-to guide, but rather a “Here’s what’s going on” type of guide. Eugene brings less snark to the topic than I do, but that’s par for the course for anyone who remembers the good ol’ days of the SQL Data Partners podcast.

Leave a Comment

Postgres vs Kubernetes container_memory_working_set_bytes

Jeremy Schneider provides an alternative:

Kubernetes metric container_memory_working_set_bytes is used for evicting/killing pods with too much memory use, especially if memory request < limit (don’t do this with Postgres). The metric is calculated from cgroups v2 memory.stat as current-inactive_file [source].

You’d assume it’s a good metric for memory usage in kubernetes. But with Postgres, this metric is very inaccurate for memory utilization and doesn’t tell you at all if you’re going to OOM crash your database.

Click through to understand what goes wrong, why it does, and what you can use instead.

Leave a Comment

sp_executesql and Building Execution Plans

Dualcore DBA needs a plan:

Whilst I would say the actual execution plan is the most useful, estimated execution plans have their place – sometimes you just need to see estimates or a quick verification that a change you have made has had some effect on plan shape. I find them helpful to quickly see if a change made to the code, an index, database setting or similar has had an effect on the execution plan without having to wait for the query to finish (especially if I am performance tuning a query that has a long run time).

sp_executesql is also useful – it helps us to execute dynamically created queries and supports parameterisation. It is also used by the .NET SqlCommand class to issue queries to the database engine in a parameterised form, assisting with SQL injection prevention along the way.

I recently found myself troubleshooting some code coming from an application. It was a Slow in the app, fast in SSMS problem so I was using sp_executesql to replicate the application behaviour. I also wanted to get the estimated execution plan. Here is an example query and what I was greeted with when I asked for the estimated plan:

Read on for one challenge you might find when trying to tune operations that you’ve built using sp_executesql, as well as what you can do about it.

Leave a Comment

For the Love of Markdown

Louis Davidson explains an opinion:

I had no idea what the three tick marks “` meant until soon after I left there because all my recent experience had been with use the Mammoth Word Document converter. It works pretty nice overall, but it had been something I had struggled with over the years trying to get other people’s documents into to work just right. (Ok, and my documents too.)

It worked by mapping styles in a Word Document to a style in a WordPress page. To do it well, I had my template with all the styles set up in the Word template with shortcut keys, which I used an Elgato Stream Deck to remember all the keys. I still use a stream deck for editing, which I will share about some day.

So when I started my own site, I tried hard to replicate that experience but better. Until recently, you couldn’t support plugins in WordPress without spending quite a bit more money than I was willing to spend on this site so I started trying to find the best way to work offline and then (more or less) paste in my text.

Click through for a bit of Louis’s journey. Also, Louis mentions being confused by the name and thinking it was “markup.” That’s because HTML is the Hypertext Markup Language, and John Gruber meant the name as a pun on heavier markup languages like HTML and XML, as Markdown involves much less marking up of the text.

Leave a Comment

Having Fun with the SQL Server Debugger

Brent Ozar hits us with a blast from the past:

And you’ve wondered what the big deal is. Well, kiddo, in this post, let’s take a trip down memory lane and I’ll show you how good we used to have it.

First off, you’re gonna ask why the debugger console display isn’t on. Buckle up, because this is a journey.

Long before we could run the debugger and Profiler remotely, and certainly a long time before the days of USB, we had to attach the debugger directly to the SQL Server we needed to monitor. To do it, we used to have PS/2 ports on the backs of our computers (there were other ports before that, and yes i remember them, and no, I don’t even wanna think about how bad debugging was back then.) The debugger console plugged into these ports:

By the way, as Brent’s tag points out, this was a joke. Though that does look like a neat editing controller.

Leave a Comment