|
UTF-8 и поиск по ~ ^абв
|
|||
---|---|---|---|
#18+
Приветствую! Есть таблица в UTF-8. Сейчас с ней работаю в psql терминале. Как сделать чтобы запрос типа Код: plaintext
использовал индекс. client_enconding выставлен в 'koi8-r'. Чтобы использовался индекс при сравнении по равенству строк, пришлось использовать конструкцию: Код: plaintext
Но не получается сделать что-то подобное для сравнения ~ '^абв', т. е. Postfix делает линейный поиск, я понимаю что здесь проблема с типами. Поиск по ~ '^abc' без convert() работает с индексом. Есть идеи? Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2004, 15:30 |
|
UTF-8 и поиск по ~ ^абв
|
|||
---|---|---|---|
#18+
помойму только если сделать функцию реализовывающую ~ и потом с ней сделать еще один индекс.. в доках вроде было .. а тотже самый индекс помойму не получится ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2004, 17:38 |
|
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, 00:46 |
|
UTF-8 и поиск по ~ ^абв
|
|||
---|---|---|---|
#18+
DockerManТ.е. при смене типа перестал работать индекс и для английский букв. И так и так работает для английских букв, просто PostgreSQL в моём тесте, как я понял, не успел набрать статистики для того чтобы начать использовать индекс. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2004, 02:20 |
|
|
start [/forum/search_topic.php?author=%D0%9F%D1%80%D0%B8%D0%B2%D0%B8%D0%BD+%D0%98%D0%BB%D1%8C%D1%8F&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
2ms |
others: | 873ms |
total: | 1021ms |
0 / 0 |