Why is my query still slow when the column has an index?
The index exists, but the plan still shows a scan. Nine common reasons the optimizer can't (or shouldn't) use your index, and how to fix each one.
#execution-plans#indexing#performance
Library
150 results
An ordered procedure for SQLITE_BUSY with a verification for each step, a script that reproduces the contention, and the matching settings for Python, Node and Go drivers.
#concurrency#locking#troubleshooting
The index exists, but the plan still shows a scan. Nine common reasons the optimizer can't (or shouldn't) use your index, and how to fix each one.
#execution-plans#indexing#performance
What SQLITE_BUSY means, where it is returned in rollback-journal and WAL mode, why a timeout sometimes does nothing, the extended codes, and how to find who holds the lock.
#concurrency#internals#locking
Same proc, same code, suddenly 100× slower, and fast again when you run it in SSMS. Here's how parameter sniffing causes it, how to prove it and the fixes that actually hold.
#execution-plans#performance#troubleshooting
Adjacency lists, materialized paths, nested sets and closure tables compared, and why a parent_id column plus a recursive CTE is the right default.
#data-modeling#schema-design
Yellow means missing replicas and red means missing primaries. Use the allocation explain API to find the exact cause: replica count, disk watermarks, allocation filters or failed retries.
#configuration#nosql#troubleshooting
The 100 MB blocking-sort limit means your index doesn't provide the sort order. Build compound indexes with the ESR rule, order pipeline stages correctly, and know when allowDiskUse is fine.
#indexing#nosql#performance
Your long query needed undo that was already overwritten. How Oracle read consistency uses undo, how to read V$UNDOSTAT, and why committing inside a loop causes it.
#configuration#mvcc#troubleshooting
Stale reads and 2 a.m. lag spikes usually come down to single-threaded apply, tables without primary keys and giant transactions. Diagnose and fix each one.
#performance#replication#troubleshooting
It's caching by design, not a leak, but the default limit is 'everything'. How to set max server memory and tell real memory pressure from a full buffer pool.
#configuration#internals#performance
NOLOCK doesn't just risk dirty reads. It can skip rows, count rows twice and fail with error 601. Read Committed Snapshot Isolation removes the blocking without the wrong answers.
#concurrency#locking#transactions