Useful Data Tips

Quick Guide to Database Indexing Strategy

⏱️ 35 sec read 📊 SQL

Indexes speed up reads but slow down writes. Here's when and how to use them effectively.

When to Create Indexes

Composite Indexes (Multi-Column)

Use when queries filter on multiple columns together:

-- Query: WHERE user_id = 123 AND created_at > '2025-01-01'
CREATE INDEX idx_user_created ON orders(user_id, created_at);

-- Order matters! Most selective column first
-- user_id (high selectivity) before created_at (low selectivity)

The Left-Prefix Rule

Index on (user_id, created_at) can be used for:

When NOT to Index

Quick Check: Is My Index Being Used?

EXPLAIN SELECT * FROM orders
WHERE user_id = 123 AND created_at > '2025-01-01';
-- Look for "index scan" not "sequential scan"

Rule of Thumb: Start with indexes on foreign keys and WHERE/JOIN columns. Add more only when you identify slow queries with EXPLAIN.

← Back to SQL Tips