Why this matters
Improves query speed and data integrity.
Index columns used in WHERE/JOIN/ORDER and enforce uniqueness where applicable.
Improves query speed and data integrity.
Side-by-side examples engineers can pattern-match during review.
-- filtering by email without index
SELECT * FROM users WHERE email = 'x';add_index :users, :email, unique: truewhere(email: ...)add_index :users, :emailFrom the same buckets as this rule.
Review SQL/database migrations for operations that can lock large tables or cause downtime. Examples: creating indexes without CONCURRENTLY (Postgres), ALTER COLUMN TYPE on big tables, adding NOT NULL without backfill, long-running updates without batching. Require an online migration strategy (CONCURRENTLY, backfill in batches, dual-write/expand-contract) and a rollback plan.