СУБД PostgreSQL, таблица Документы первичный ключ Документ, поле Код типа text. Есть запрос
SELECT s.*
FROM "Документы" s
where "Документ" = ANY(ARRAY[807830, 807831, 807832, 807833, 807834, 807835, 807836, 807837, 807838, 807839
])
ORDER BY
s."Код"
Создал индекс
CREATE INDEX "index_sort"
ON "Документы" USING btree
("Документ" NULLS LAST, "Код" text_pattern_ops NULLS LAST);
Но почему-то планировщик его не использует, делал VACUUM, REINDEX, используется индекс по первичному ключу, план такой:
"Sort (cost=48.74..48.77 rows=10 width=174) (actual time=0.061..0.062 rows=10 loops=1)"
" Sort Key: "Код"
" Sort Method: quicksort Memory: 26kB"
" Buffers: shared hit=31"
" -> Index Scan using "pДокумент" on "Документы" s (cost=0.42..48.58 rows=10 width=174) (actual time=0.013..0.025 rows=10 loops=1)"
" Index Cond: ("Документ" = ANY ('{807830,807831,807832,807833,807834,807835,807836,807837,807838,807839}'::integer[]))"
" Buffers: shared hit=31"
"Planning time: 0.168 ms"
"Execution time: 0.077 ms"
Как заставить планировщик использовать индекс?