Это мой простой запрос; При поиске selectnothing
я уверен, что у меня не будет показов.
SELECT nome_t FROM myTable WHERE nome_t ILIKE '%selectnothing%';
Это EXPLAIN ANALYZE VERBOSE
Seq Scan on myTable (cost=0.00..15259.04 rows=37 width=29) (actual time=2153.061..2153.061 rows=0 loops=1)
Output: nome_t
Filter: (nome_t ~~* '%selectnothing%'::text)
Total runtime: 2153.116 ms
myTable
имеет около 350 тыс. Строк, а определение таблицы выглядит примерно так:
CREATE TABLE myTable (
nome_t text NOT NULL,
)
У меня есть индекс для nome_t, как указано ниже:
CREATE INDEX idx_m_nome_t ON myTable
USING btree (nome_t);
Хотя это явно хороший кандидат для полнотекстового поиска, я бы хотел пока исключить этот вариант.
Этот запрос предназначен для запуска из веб-приложения, и в настоящее время он занимает около 2 секунд, что явно слишком много;
Могу ли я что-нибудь сделать, например, использовать другие методы индексации, чтобы повысить скорость этого запроса?