Индекс PostgreSQL по строковому типу - PullRequest
3 голосов
/ 14 марта 2012

Как PostgreSQL индексирует строки и varchars?

Индексирует ли она всю «строку» или только ее части?

До сих пор я предполагал, что он использует полную строку, но никогда не проверял ее.

1 Ответ

8 голосов
/ 14 марта 2012

Использует всю строку.Если вы хотите использовать только часть строки, вы всегда можете использовать индекс для выражения .Например:

CREATE INDEX some_idx ON tbl (left(col, 10));

left() требует PostgreSQL 9.1 или более поздней версии.Для более старых версий:

CREATE INDEX some_idx ON tbl (substr(col, 1,10));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...