TGViewer
SQL и Анализ данных SQL и Анализ данных @databases_tg · 12.5K subscribers
Post #1211 3.33K
⚡️ SQL: быстрый поиск по тексту без LIKE '%...%' !!!

Если в проде ты всё ещё ищешь по тексту через LIKE '%строка%', то рано или поздно упрёшься в медленные seq scan по всей таблице.

В PostgreSQL гораздо эффективнее сразу строить полнотекстовый индекс и искать через to_tsvector`/`tsquery.

Так запросы остаются понятными, а поиск по большим текстам начинает работать в разы быстрее.




CREATE TABLE articles (
id serial PRIMARY KEY,
title text,
body text
);

CREATE INDEX idx_articles_fts
ON articles
USING gin (to_tsvector('russian',
coalesce(title,'') ' ' coalesce(body,'')));

SELECT id, title
FROM articles
WHERE to_tsvector('russian',
coalesce(title,'') ' ' coalesce(body,''))
@@ plainto_tsquery('russian', 'sql поиск производительность');
  • 🔥 7
  • ❤ 3
  • 👍 3
More from @databases_tg
  1. Sep 30, 2026📝 5 уровней ИИ-агентов: от промпта до продакшена Context, loop, Jev, harness и evals: раз…
  2. Sep 26, 2026UPDATE — оператор обновления данных в MySQL 🗂️ Если в таблице нужно изменить значение в у…
  3. Sep 25, 2026🧠 SQL-задача с подвохом Есть таблица транзакций: CREATE TABLE transactions ( id int PRIMA…
  4. Sep 25, 2026Как облегчить работу ИТ-аналитика уже сейчас — без долгосрочных перестроек процессов? Обсу…
  5. Sep 24, 2026🐧 Linux Cheat Sheet - шпаргалка по командам Linux Самая удобная шпаргалка по Linux и Bash…
  6. Sep 23, 2026⚡️ SQL-задача с подвохом Что вернёт этот запрос в PostgreSQL? CREATE TABLE payments ( id i…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →