Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Проблема с созданием индексов / 5 сообщений из 5, страница 1 из 1
16.07.2003, 13:53
    #32209699
BodyaS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с созданием индексов
Есть таблица вида:

CREATE TABLE TEST (
ID INTEGER NOT NULL
,DESCR VARCHAR(100) CHARACTER SET WIN1251 COLLATE PXW_CYRL);

Когда создаю индекс по полю DESCR:

CREATE INDEX Test_Index ON Test (DESCR);

Вываливается ошибка "key size too big for index Test_Index."

Если у поля DESCR убрать COLLATE PXW_CYRL, то индекс строится нормально.
Подскажите как решить проблемму.

(InterBase 6.5, Dialect 3)
...
Рейтинг: 0 / 0
16.07.2003, 14:39
    #32209778
Cancer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с созданием индексов
Уменьшить размер поля. До 70 символов.
...
Рейтинг: 0 / 0
16.07.2003, 14:49
    #32209800
BodyaS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с созданием индексов
Но мне нужен именно такой размер поля. :(
...
Рейтинг: 0 / 0
16.07.2003, 14:55
    #32209811
Cancer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с созданием индексов
Тогда никак :(
Или убирай COLLATE (будет неправильно работать UPPER, сортировка и прочее), или уменьшай длину поля
...
Рейтинг: 0 / 0
17.07.2003, 08:30
    #32210444
arni
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с созданием индексов
Думаю, что COLLATE'ом можно пожертвовать при создании таблицы, но указывать его в самом селекте. Синтаксис допускает при указании полей сортировки в ORDER BY непосредственно указывать необходимый COLLATE
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Проблема с созданием индексов / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]