postgres tsheadline долго выводит

В моей таблице 3 колонки: ID, FileName, TextOfFile. Хочу настроить полнотекстовый поиск и чтобы вывод подсвечивался, использую tsheadline и такой запрос:

SELECT ts_headline('russian_hunspell', "TextOfFile", to_tsquery('russian_hunspell','Книга'), 'StartSel =<b> , StopSel = </b>, 
MaxWords=5, MinWords=3, ShortWord=5, HighlightAll=FALSE, MaxFragments=1, FragmentDelimiter = " ... " ') as ttt 
FROM "Table" 
Where "ID" = 2

В моей таблице 2 строчки. В TextOfFile первой строчки текст размером меньше 2 кб, во второй строчке размер текста 12 мб. Есть также вектор gin на TextOfFile. Explain (analyze) выводит информацию, что при запросе используется Seq scan (выполнение 24 сек), если его отключить, то будет использоваться Index scan (22 сек c использованием индекса встроенного в ID - так как он primary key).

Хотелось бы добиться времени выполнения 1-2 сек. Подскажите как можно оптимизировать запрос? Или же как можно изменить tsheadline, чтобы быстрее работало?


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