Форум: "Базы";
Текущий архив: 2002.05.30;
Скачать: [xml.tar.bz2];
ВнизSharSet и Collate - на что влияют Найти похожие ветки
← →
Ura (2002-05-02 14:20) [0]Вопрос вдогонку по создании индекса при Collate. Индекс не создаеться из двух столбцов. Если Collate ибрать все ок.
Исли Я уберу коллате то что я потеряю - по идее НИЧЕГО. Так в чем же смысл Collate и SharSet?
← →
Ura (2002-05-06 14:23) [1]Кто-нибудь знает или нет?
← →
Johnmen (2002-05-06 14:35) [2]Смысл в применимости UPPER()...
Возможно есть и другие, но мною они не обнаружены...
← →
Alexandr (2002-05-06 14:35) [3]см. статью про русские буквы на
www.ibase.ru
там очень популярно на этот счет написано
← →
Desdechado (2002-05-06 14:35) [4]смысл Collate - некоторый способ упорядочивания при сортировке символов. он немного разный в разных Collate.
смысл Charset - возможность чтения/записи в определенной кодировке
← →
Ura (2002-05-06 14:45) [5]Какое дело базе в какой кодировке Я храню данные? Или она может перекодировать кодировки т.е. данные лежат в WIN1251 а в Linux стоит кодировка Koи8. Я могу заставить перекодировать??? (написав какой-нибудь фильтр и подсоединив его к СУБД). Или нет.
Про коллате все ясно - это просто указатель на таблицу весов символов при сортировке .... ???
← →
Reindeer Moss Eater (2002-05-06 14:48) [6]Есть ограничение на длину индексного выражения для строки.
Если поле создано с collate то каждый символ занимает три байта, а не один.
← →
Desdechado (2002-05-06 14:55) [7]2 Reindeer Moss Eater (06.05.02 14:48)
> Если поле создано с collate то каждый символ занимает три байта, а не один.
число байт на символ зависит от Collate
← →
Reindeer Moss Eater (2002-05-06 14:58) [8]Я и говорю, что зависит
← →
Ura (2002-05-06 15:24) [9]Совсем запутался. А зачем вообще эти настройки. Может сделать лучше юникод. Если это все равно помощи не окажет ...
← →
Reindeer Moss Eater (2002-05-06 15:26) [10]Тебе же сказали по-русски, что если поле создано с Collate,
то индекс по нему может быть создан если длина поля <= 84 символа
← →
kaif (2002-05-07 02:19) [11]Я когда-то по наивности работал без CHARSET . Так вот, при упорядочивании имел вместо правильного:
Вася
вася
Геша
гоша
Неправильное:
Вася
Геша
вася
гоша.
То есть так, как расположены ASCII символы. Сначала все большие буквы "А".."Я", затем все маленькие, начиная с "а". Буква "Ё" вообще могла оказаться где попало.
Но самое важное, действительно, UPPER. Мало установить CHARSET. Без COLLATE upper не заработает. Просто не найдет ни хрена для русских выражений.
Ограничение на длину индекса себя оправдывает. Не так уж нужны индексированные строки более 84 символов.
← →
Desdechado (2002-05-07 10:40) [12]Если очень надо индекс по длинным полям, ставь Win1251 и делай UDF вместо UPPER, тогда не нужен COLLATE, но некоторые фокусы (не очень заметные) все-таки останутся.
Если тебе индекс нужен типа UNIQUE, т.е. для проверки, а не для упорядочивания при выборке, то такое решение вполне пройдет.
← →
Ura (2002-05-07 11:57) [13]Спасибо всем. Понял.
Сделал только CHARSET Win1251 без COLLATE. И индекс 50+50.
Для чего нужен уникальный индекс - заводской номер техники и код техники в реестре. А реестров несколько.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.05.30;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.005 c