Database Indexing: What Every Developer Should Know

Your query is slow. You add an index. It gets faster. Magic, right? Not quite. Indexes are powerful but misunderstood. Used well, they turn seconds into milliseconds. Used poorly, they slow down writes, waste storage, and sometimes make queries slower. Let’s demystify them. What Is an Index? An index is a separate data structure that helps the database find rows without scanning the entire table. Think of it like a book’s index—instead of reading every page to find “PostgreSQL,” you look it up in the index and jump directly to page 247. ...

March 4, 2026 · 7 min · 1321 words · Rob Washington

Database Connection Pooling: Patterns for High-Throughput Applications

Every database connection costs something: TCP handshake, TLS negotiation, authentication, session state allocation. For PostgreSQL, that’s 1.3-2MB of memory per connection. For MySQL, 256KB-1MB. At scale, creating connections on demand kills both your database and your latency. Connection pooling solves this by reusing connections across requests. But misconfigured pools are worse than no pools — you get connection starvation, deadlocks, and debugging nightmares. Here’s how to do it right. The Problem: Connection Overhead Without pooling, a typical web request: ...

February 19, 2026 · 10 min · 2117 words · Rob Washington