Будет ли pgjdbc stringtype, установленный в VARCHAR, блокировать использование индекса для столбца типа TEXT? - PullRequest
0 голосов
/ 23 мая 2019

Свойство pgjdbc для подключения stringtype может иметь значение VARCHAR или UNDEFINED:

Укажите тип, который будет использоваться при привязке параметров PreparedStatement, установленных с помощью setString (). Если для параметра stringtype установлено значение VARCHAR (по умолчанию), такие параметры будут отправлены на сервер в качестве параметров varchar. Если для параметра stringtype установлено значение unspecified, параметры будут отправлены на сервер как нетипизированные значения, и сервер попытается вывести соответствующий тип. Это полезно, если у вас есть существующее приложение, которое использует setString () для установки параметров, которые на самом деле имеют какой-то другой тип, например целые числа, и вы не можете изменить приложение, чтобы использовать соответствующий метод, такой как setInt ().

У меня есть столбец типа TEXT, если я установлю stringtype в VARCHAR, будет ли PostgreSQL использовать мой индекс для поиска в этом столбце?

Я спрашиваю об этом, потому что планировщик запросов обычно ищет точный тип столбца, чтобы использовать индекс с таким же типом. Если они находят другой тип, они пропускают индекс и вместо этого выполняют последовательное чтение.

...