Есть запрос
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 использовать составной индекс?