Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
22.06.2004, 15:30
|
|||
---|---|---|---|
|
|||
UTF-8 и поиск по ~ ^абв |
|||
#18+
Приветствую! Есть таблица в UTF-8. Сейчас с ней работаю в psql терминале. Как сделать чтобы запрос типа Код: plaintext
использовал индекс. client_enconding выставлен в 'koi8-r'. Чтобы использовался индекс при сравнении по равенству строк, пришлось использовать конструкцию: Код: plaintext
Но не получается сделать что-то подобное для сравнения ~ '^абв', т. е. Postfix делает линейный поиск, я понимаю что здесь проблема с типами. Поиск по ~ '^abc' без convert() работает с индексом. Есть идеи? Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.06.2004, 17:38
|
|||
---|---|---|---|
UTF-8 и поиск по ~ ^абв |
|||
#18+
помойму только если сделать функцию реализовывающую ~ и потом с ней сделать еще один индекс.. в доках вроде было .. а тотже самый индекс помойму не получится ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.06.2004, 00:46
|
|||
---|---|---|---|
|
|||
UTF-8 и поиск по ~ ^абв |
|||
#18+
Уточню ситуацию. PostgreSQL 7.4.2 на FreeBSD. База в UTF-8, локаль KOI8-R. Обнаружилась ещё одна особенность, индекс используется в ~ '^abc' и like 'abc%' если строка, с которой производится сравнение, задана как char(n), если строка задана как varchar(n), то индекс не используется и для английских букв в ~ '^abc' и like 'abc%'. Т.е. при смене типа перестал работать индекс и для английский букв. Я подозреваю что всё дело в типах (PostgreSQL не использует индекс если выражение не совпадает с типом проиндексированного столбца). ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.06.2004, 02:20
|
|||
---|---|---|---|
|
|||
UTF-8 и поиск по ~ ^абв |
|||
#18+
DockerManТ.е. при смене типа перестал работать индекс и для английский букв. И так и так работает для английских букв, просто PostgreSQL в моём тесте, как я понял, не успел набрать статистики для того чтобы начать использовать индекс. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=53&mobile=1&tid=2007799]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 305ms |
total: | 420ms |
0 / 0 |