Как заставить Postgres использовать определенный индекс

Есть запрос

SELECT DISTINCT
"Field1"
FROM
"Table"
WHERE "Field2" LIKE 'val1%' AND "Field3" ='val2' 
LIMIT 100

Поле Field1 тип bigint, по нему есть индекс, при выполнении этого запроса он и используется ( Index Scan using "iTable-Field1" on "Table" ).
Поле Filed2 типа text, поле Fileld3 типа bigint. Есть индекс SearchFields составной состоит из поля Field2 с типом операторов text_pattern_ops, и поля Field3. Если убрать из запроса LIMIT 100, то используется Bitmap Index Scan on "iTable-SearchFields". При этом ресурсов тратиться меньше, но времени больше.
Вопрос можно ли в запросе оставить LIMIT 100 и обязать Postgres использовать составной индекс?

Back to top

(С) Виктор Вислобоков, 2008-2023