Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / строковый индекс / 10 сообщений из 10, страница 1 из 1
19.05.2008, 19:17
    #35321753
Marvin_ru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
строковый индекс
не могу найти никак - нужно создать индекс по полю VARCHAR(80) на первые 5 символов
...
Рейтинг: 0 / 0
20.05.2008, 11:52
    #35322739
gardenman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
строковый индекс
Marvin_ruне могу найти никак - нужно создать индекс по полю VARCHAR(80) на первые 5 символов
Нет в DB2 индексов на функцию как в оракле.
Поэтому создайте в табличку GENERATED ALWAYS поле и насесьте на него индекс.
...
Рейтинг: 0 / 0
20.05.2008, 11:52
    #35322741
gardenman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
строковый индекс
навесьте)) - типа очепятка...:)
...
Рейтинг: 0 / 0
20.05.2008, 11:59
    #35322788
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
строковый индекс
Код: plaintext
1.
2.
3.
set integrity for my_table off;
alter table my_table add my_col_gen varchar( 5 ) generated always as (substr(my_col,  1 ,  5 ));
set integrity for my_table immediate checked force generated;
create index my_table1 on my_table(my_col_gen);
...
Рейтинг: 0 / 0
20.05.2008, 13:11
    #35323089
TORT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
строковый индекс
Где по-подробнее почитать про конструкцию generated always as ()?
...
Рейтинг: 0 / 0
20.05.2008, 15:41
    #35323633
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
строковый индекс
TORTГде по-подробнее почитать про конструкцию generated always as ()?В доке !
...
Рейтинг: 0 / 0
20.05.2008, 17:03
    #35323977
Marvin_ru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
строковый индекс
ясно, спасибо

а как тогда будут запросы выглядеть ?

Например поле stringLong и его сгенерированный индекс stringLongInd на 5 символов. Ищем строку 'значение'

select * from table1 where stringLongInd = 'значе' and stringLong = 'значение'

при этом будет происходит отбор по индексу поля stringLongInd, а потом по полю stringLong. да ?
...
Рейтинг: 0 / 0
20.05.2008, 17:25
    #35324070
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
строковый индекс
Marvin_ruа как тогда будут запросы выглядеть ?

Например поле stringLong и его сгенерированный индекс stringLongInd на 5 символов. Ищем строку 'значение'

select * from table1 where stringLongInd = 'значе' and stringLong = 'значение'

при этом будет происходит отбор по индексу поля stringLongInd, а потом по полю stringLong. да ?Теоретически оптимизатор даже при
Код: plaintext
select * from table1 where stringLong = 'значение'
может выбрать индексный план доступа.
...
Рейтинг: 0 / 0
22.05.2008, 10:36
    #35327606
TORT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
строковый индекс
Mark Barinstein, просто иногда так лень искать самому:)
...
Рейтинг: 0 / 0
22.05.2008, 10:36
    #35327607
TORT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
строковый индекс
Mark Barinstein, просто иногда так лень искать самому:)
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / строковый индекс / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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