state, process_at индекс по ним и запросы вида
select * from queue where state = $1 and process_at < now() order by process_at FOR UPDATE SKIP LOCKED
Строк в финальных статусах больше 100 миллионов, в не финальных стабильно меньше 100.
Попытка создать частичный индекс (state, process_at) where state < 7 привела не к ускорению работы, а наоборот к падению скорости выборок. Новый индекс используется. Как такое может быть?
Показали бы Вы https://t.me/pgsql/476688 (относящихся к делу запросов)...
Индекс оказался битым) Всё ещё не понимаю как оно вообще тогда работает, но спасибо)
Обсуждают сегодня