Есть индекс `CREATE INDEX ON orders (user_id, status, created_at)`.
Какие запросы будут им пользоваться, а какие — нет (по leftmost-rule)?
middle
correct_vs_wrong
#38
Вариант 1
-- Использует индекс:
WHERE user_id = 1 -- ✓ префикс
WHERE user_id = 1 AND status = 'paid' -- ✓ префикс
WHERE user_id = 1 AND status = 'paid' AND created_at > '...' -- ✓ полностью
WHERE user_id = 1 ORDER BY status, created_at DESC -- ✓ + сортировка
WHERE user_id = 1 AND created_at > '...' -- ⚠ частично
-- (по user_id, затем
-- filter по created_at)
Вариант 2
-- НЕ использует (или использует неэффективно):
WHERE status = 'paid' -- ✗ нет user_id
WHERE created_at > '...' -- ✗ нет user_id
WHERE status = 'paid' AND created_at > '...' -- ✗ нет user_id
ORDER BY status -- ✗ для сортировки без WHERE
Чтобы решить вопрос и сохранить попытку — войди.