Gần như mọi vị trí Backend đều động tới database, và query chậm là vấn đề production thật gặp hàng ngày — vì vậy nhà tuyển dụng dùng chủ đề này để kiểm tra khả năng debug thực tế, không phải kiến thức sách vở.
Index (thường là B-Tree) giúp database tìm dữ liệu mà không cần quét toàn bộ bảng (full table scan). Đánh đổi: mỗi lần INSERT/UPDATE/DELETE, database phải cập nhật cả index — quá nhiều index làm chậm write. Đây chính là điểm nhiều ứng viên bỏ sót khi trả lời "cứ thêm index cho nhanh".
EXPLAIN ANALYZE (Postgres) hoặc EXPLAIN (MySQL) để xem query planner có dùng index không, có bị full scan không, ước lượng số dòng có khớp thực tế không.WHERE với điều kiện bằng (=) nên đứng trước cột dùng cho range (>, <) hoặc ORDER BY, vì B-Tree chỉ tận dụng được prefix bên trái của composite index.include/with tuỳ ORM).Partial index (chỉ index 1 phần dữ liệu thoả điều kiện, tiết kiệm dung lượng), covering index (index chứa đủ cột để trả lời query mà không cần đọc bảng gốc), và trade-off giữa đọc nhiều index vs viết nhiều bảng (denormalization) khi hệ thống đọc nhiều hơn ghi rất nhiều lần.
Kể 1 case cụ thể: query nào chậm (bao nhiêu ms/giây), bạn phát hiện bằng công cụ gì (slow query log, APM như Datadog/New Relic), thêm index gì, và kết quả đo được sau khi fix. Con số cụ thể luôn thuyết phục hơn mô tả chung chung.