172 похожих чатов

Скорее, не надо индексировать строку. Вы чего этим хотите добиться? З.Ы.

И не надо в принципе использовать varchar, хотя это не относится к вашему вопросу.

9 ответов

23 просмотра

ускорения работы запроса

Дмитрий-Копытов Автор вопроса
Nikita Kristofovich
ускорения работы запроса

Возможно, вам нужно это: https://postgrespro.ru/docs/postgresql/15/textsearch-intro

Nikita Kristofovich
ускорения работы запроса

https://t.me/pgsql/303899 Можете попробовать воспользоваться вот этим.

а чем варчар плох? Разве text не резервирует в файле БД больше места, чем варчар? А если это миллионы записей и десятки таких полей?

Дмитрий-Копытов Автор вопроса
Mike
а чем варчар плох? Разве text не резервирует в фай...

Они реализованы одинаково, но все текстовые функции используют text. Это если кратко.

Mike
а чем варчар плох? Разве text не резервирует в фай...

Скорее всего — имелся в виду varchar(n) https://wiki.postgresql.org/wiki/Don%27t_Do_This#Don.27t_use_varchar.28n.29_by_default (И да, text, varchar, varchar(n) хранят данные строго одинаково).

Дмитрий Копытов
Они реализованы одинаково, но все текстовые функци...

тогда зачем они введены? Для совместимости со стандартом? Тогда что плохого опять-таки, мало ли потом базу на другую СУБД будут переносить?

Дмитрий-Копытов Автор вопроса
Mike
тогда зачем они введены? Для совместимости со стан...

Вот это вообще не аргумент про перенос на другую БД. Если так делать, то надо не использовать 95% функционала.

Дмитрий Копытов
Они реализованы одинаково, но все текстовые функци...

то есть если я использую varchar(34) [у меня в этом поле ничего длиннее не хранится], то это все-таки даст некоторый прирост производительности, нежели text?

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта