Postgres отказывается использовать индекс при большом объеме данных

Пытаюсь выполнить запрос для полнотекстового поиска:

 explain SELECT count(*) FROM fs_test_table2 WHERE
 to_tsvector('russian', "content") @@ plainto_tsquery('Тест');

Так же был создан индекс:

CREATE INDEX idx_gin_document3 ON fs_test_table2  USING gin (to_tsvector('russian'::regconfig, content));

Если в таблице около 1млн. записей postgres решает делать селект по индексу. И получаю примерно следующее (не обращайте внимание на данные, скрин не из запроса к моей таблице, на нем я лишь отображаю структуру запроса, которая была раньше): введите сюда описание изображения

Время запроса маленькое. Но если увеличить количество записей до 2 млн. то тот же запрос будет выполняться очень долго потому, что постгрес решит выполнить его без индекса: введите сюда описание изображения

Команда vacuum analyze fs_test_table2 не помогла

Почему постгрес отказывается использовать индекс на большом количестве данных? И как его заставить всегда использовать индекс?


Ответы (0 шт):