И не надо в принципе использовать varchar, хотя это не относится к вашему вопросу.
ускорения работы запроса
Возможно, вам нужно это: https://postgrespro.ru/docs/postgresql/15/textsearch-intro
https://t.me/pgsql/303899 Можете попробовать воспользоваться вот этим.
а чем варчар плох? Разве text не резервирует в файле БД больше места, чем варчар? А если это миллионы записей и десятки таких полей?
Они реализованы одинаково, но все текстовые функции используют text. Это если кратко.
Скорее всего — имелся в виду varchar(n) https://wiki.postgresql.org/wiki/Don%27t_Do_This#Don.27t_use_varchar.28n.29_by_default (И да, text, varchar, varchar(n) хранят данные строго одинаково).
тогда зачем они введены? Для совместимости со стандартом? Тогда что плохого опять-таки, мало ли потом базу на другую СУБД будут переносить?
Вот это вообще не аргумент про перенос на другую БД. Если так делать, то надо не использовать 95% функционала.
то есть если я использую varchar(34) [у меня в этом поле ничего длиннее не хранится], то это все-таки даст некоторый прирост производительности, нежели text?
Обсуждают сегодня