Комментарии 16
Продолжая автора:
Особенно порадовала сортировка ss:
Интересно, а как в других СУБД сортируется такое?
О сколько нам открытий чудных....
Особенно порадовала сортировка ss:
что первые четыре буквы первой строки — «Stras», затем «Straß», затем опять «Stras». Такого порядка нельзя достичь, если каждой букве сопоставлять некоторый код.
Интересно, а как в других СУБД сортируется такое?
+1
PostgreSQL полностью полагается на функцию сравнения локали ОС. При этом, эта функция сравнения может вести себя очень не хорошо. Например, не факт, что строки с одинаковыми префиксами отсортируются рядом. Чтобы это обойти придумали всякие text_pattern_ops. Недавно ещё выяснилось, что strxfrm может не работать правильно. К этому тоже пришлось приспособиться.
Одна из идей как с этим жить – это перейти на libicu как более предсказуемую вещь. Мы в своей ветке PostgresPro её подключили. Надеюсь, со временем, убедим и community.
Одна из идей как с этим жить – это перейти на libicu как более предсказуемую вещь. Мы в своей ветке PostgresPro её подключили. Надеюсь, со временем, убедим и community.
+3
Да libicu — правильный подход получить Unicode независимо от операционной системы. Но уж больно толстый! Одним неверным движением, просто за счет 3х dll-ек, ты добавляешь 15МБ добра.
+1
Любопытно, спасибо. А нюансы с производительностью тоже есть?
+1
Конечно есть. libicu работает примерно с одинаковой скоростью везде, а локали ОС – с очень разными скоростями. Например, в Linux'ах локаль примерно с той же скоростью работает, что и libicu, а на Mac OS X – в разы медленнее. Такого, чтобы libicu работала заметно медленнее, чем локаль ОС, пока не замечали.
+1
Есть мнение, что при сортировке букву Ё следует считать равной Е, потому что очень часто буква Е на самом деле означает Ё.
+1
Вот простой вопрос есть: установил заново Caché, буду работать с русским (Ё нужна), надо ли что-то сразу переключать в сортировках? И если да — в скольки местах и на что?
+1
все зависит от региональных настроек операционной системы, по ним установщик определяет какую локаль активировать.
поправить нужно настройках локализации. Нужно скопировать локаль rusw в yruw или rus8 в yru8 для 8-битных систем. И в скопированной локали уже можно делать изменения.
сохранить. и установить новую локаль
После этого можно изменить сортировку по умолчанию для базы данных
поправить нужно настройках локализации. Нужно скопировать локаль rusw в yruw или rus8 в yru8 для 8-битных систем. И в скопированной локали уже можно делать изменения.
сохранить. и установить новую локаль
После этого можно изменить сортировку по умолчанию для базы данных
+3
интересное имя у базы данных на скриншоте :-)
+2
Спасибо!
Еще парочка вопросов:
Cyrillic 4 брать или Cyrillic 4 string брать для глобалов?
Что такое Cyrillic 1?
Украинцам надо менять все сразу на Ukranian 1 или можно пользоваться Caché Standard?
Еще парочка вопросов:
Cyrillic 4 брать или Cyrillic 4 string брать для глобалов?
Что такое Cyrillic 1?
Украинцам надо менять все сразу на Ukranian 1 или можно пользоваться Caché Standard?
+1
сортировку брать со string или нет зависит от требований, как указано в статье, отличие только в сортировки чисел.
Cyrillic 1 — думаю эта сортировка уже порядком устарела
Для украины Cache standard так же сортиовать будет не верно. Так что лучше выбрать Ukranian 1
Cyrillic 1 — думаю эта сортировка уже порядком устарела
Для украины Cache standard так же сортиовать будет не верно. Так что лучше выбрать Ukranian 1
+2
сортировку брать со string или нет зависит от требований, как указано в статье, отличие только в сортировки чисел.
Да, правда, невнимательно читал.
У каждой сортировки есть парная, в которой числа сортируются как строки. Имя такой парной сортировки получается добавлением " string" к имени оригинальной сортировки:
Интересно, зачем такое может быть нужно?
Успокаивает, что если "что-то пошло не так", можно всегда попробовать другую сортировку. (да, при этом потребуется скопировать глобал целиком, а, возможно, и два раза скопировать, если нужно изменить сортировку в существующем глобале).
+1
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Таблицы сортировки в СУБД Caché