Многие думают, что для
ORDER BY … DESC нужен отдельный DESC-индекс — но это не всегда так.В PostgreSQL обычный B-tree индекс:
CREATE INDEX idx_orders_user_created
ON orders (user_id, created_at);
уже может использоваться для
ORDER BY created_at DESC через backward scan, без дополнительной сортировки.Если нужен смешанный порядок (например (
user_id ASC, created_at DESC)), тогда имеет смысл явно указать направление:CREATE INDEX idx_orders_user_created_desc
ON orders (user_id, created_at DESC);
🔥 В таких случаях PostgreSQL сможет читать данные сразу в нужном порядке.
➡️ SQL Ready | #совет
