Форум: "Базы";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];
ВнизКак заставить FireBird сортировать кирилицу по "человечески"? Найти похожие ветки
← →
Step[B.M.] (2005-02-10 21:41) [0]Украинская раскладка. Спасибо.
← →
Anatoly Podgoretsky © (2005-02-10 21:48) [1]А оно поддерживает украинский язык?
← →
miwa © (2005-02-10 22:10) [2]Установить COLLATE в PXW_CYRL.
А оно поддерживает украинский язык?
Так, звичайно. :о))
← →
Anatoly Podgoretsky © (2005-02-10 22:22) [3]Да просто спрашиваю, посколько постоянно вижу подобный вопрос. Про Интербейс ничего не могу сказать, не пользуюсь.
← →
miwa © (2005-02-11 00:38) [4]Хех, Анатолий, большинство вопроссов на форуме повторяются :о)
← →
Anatoly Podgoretsky © (2005-02-11 00:47) [5]Но я не видел нормального ответа на этот вопрос. При том не только по Интербейсу.
← →
miwa © (2005-02-11 02:22) [6]Хм...
Правда, остается открытым вопросс, что имелось ввиду под сортировать кирилицу по "человечески". Во всяком случае вот такую табличку:
SET SQL DIALECT 3;
SET NAMES WIN1251;
CREATE DATABASE "test.gdb"
USER "SYSDBA" PASSWORD "masterkey"
PAGE_SIZE 1024
DEFAULT CHARACTER SET WIN1251;
CREATE TABLE NEW_TABLE (
STRING_TEST VARCHAR(10) COLLATE PXW_CYRL
);
с вот такими даннымиSTRING_TEST
Абв
аБв
абВ
абв
АБВ
ІЇЄ
іїє
іЇє
Іїє
іїЄ
ЄЇІ
єїі
єаб
Firebird в таком запросеselect string_test from new_table order by string_test
выдал вот это:
STRING_TEST
абв
абВ
аБв
Абв
АБВ
ЄЇІ
ІЇЄ
Іїє
іЇє
іїЄ
іїє
єаб
єїі
Хм...
Тогда простите, пожалуйста, погорячился. Это и вправду некорректная сортировка.
← →
P.N.P. © (2005-02-11 08:52) [7]кодировка должна быть WIN1251_UA,
судя по http://firebird.sourceforge.net/index.php?op=doc&id=fb_1_5_charsets&nosb=1
← →
Step[B.M.] (2005-02-12 13:48) [8]Спасибо за дискуссию. Все верно сказано.
← →
DSKalugin © (2005-02-12 14:05) [9]PAGE_SIZE 1024
Издеваешься над кем с такой страницей? Надо пользователями или над админом?
Менять срочно минимум на 4096
← →
Rule © (2005-02-13 09:32) [10]http://www.ibase.ru/download/recodeib.zip
вот украинская кодировка
← →
Rule © (2005-02-13 09:35) [11]из новостей:
Украина может спать спокойно. Пока в IB не существует поддержки кодировки украинского набора символов, а для IB 6 появилось только описание способа добавления кодировок (к исходникам, которых пока нет), Сергей Гаврильев изготовил кодировку и утилиту для прописывания этой кодировки вместо PXW_CYRL. Т.е. достаточно запустить "патчер", и после этого IB будет сортировать буквы в WIN1251 и PXW_CYRL по другому. Есть также и готовые dll для IB 5 и 6. Соответственно, правильно будет рабо
тать и UPPER (опять же, для pxw_cyrl).
всё это можно прочитать на
http://www.ibase.ru/newsarch/000516.htm
там же ссылки
ну и плюс
http://www.ibase.ru/newsarch/000516.htm
← →
miwa © (2005-02-14 11:28) [12]DSKalugin © (12.02.05 14:05) [9]
PAGE_SIZE 1024
Издеваешься над кем с такой страницей? Надо пользователями или над админом?
Менять срочно минимум на 4096
Если мне не изменяет склероз, размер страницы рекомендуется такой же как размер кластера на ФС?
← →
DSKalugin © (2005-02-14 18:13) [13]2 miwa ©
изменяет тебе склероз и хорошо если только он :-))
на ibase.ru есть статья по теме размера стр
← →
miwa © (2005-02-15 15:41) [14]
> DSKalugin © (14.02.05 18:13)
Да, вы правы. Почитал книжки, уяснил. Правда - говорится о рекомендациях размера страницы 4К при размере кластера 4К на НТФС и 16К на ФАТ32; но понятия "размер страницы" и "размер кластера" не приравниваюся - это я уже сам "приравнял".
← →
DSKalugin © (2005-02-15 17:21) [15]2 miwa ©
что НЕ надо (или нельзя) делать при работе с Interbase
http://www.ibase.ru/devinfo/dontdoit.htm
цитирую
Не надо делать PageSize = 1024 или 2048
Устанавливайте при создании (или restore) для баз данных размер страницы 4 или 8 килобайт. При этом нужно чтобы логический диск был отформатирован с размером кластера идентичным размеру страницы. В Firebird и Yaffil можно использовать размер страницы 16К.
Но и это еще не все. Вернее не основное для выбора размера стр.
Вот тут расписано
Какой размер страницы выбрать?
http://www.ibase.ru/ibfaq.htm
Желательно чтобы размер страницы совпадал с размером кластера логического диска, или был больше. Дело в том, что если размер кластера больше размера страницы БД, то при записи двух страниц БД один и тот же кластер будет записан 2 раза (если размер страницы 4К, а размер кластера 8К). В обратном случае, когда размер page size больше размера кластера, происходит больше чтений или записи кластеров, однако это не так важно, как предыдущий случай (но размер кластера 512 байт при 8К page size - это тоже не очень хорошо).
Размер страницы в первую очередь влияет на индексы с длинными (строковыми) ключами. Чем больше размер ключа или средний размер записи таблицы, тем больший размер страницы следует выбрать - если у вас gstat -a выдает наличие индексов с Depth = 4, то стоит увеличить размер страницы. Также стоит выбрать больший размер страницы, если в БД предполагается хранить много blob размером 50К и больше....
← →
}|{yk © (2005-02-15 17:33) [16]В FireBird
COLLATE BY WIN1251_UA
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.039 c