Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 использование индексов для запросов с or  [new]
ррррррв
Guest
Имеется вьюшка с 3 полями. Как ее проиндексировать так, чтобы производился поиск по этому индексу. Запрос такой:
select id,поле1,поле2,поле3 from v where v.[поле1] like 'search%' or v.[поле2] like 'search%' or v.[поле3] like 'search%'
29 дек 09, 14:37    [8132729]     Ответить | Цитировать Сообщить модератору
 Re: использование индексов для запросов с or  [new]
aleks2
Guest
select id,поле1,поле2,поле3 from v 
where v.[поле1] like 'search%' 
UNION ALL
select id,поле1,поле2,поле3 from v 
where v.[поле2] like 'search%' 
AND v.[поле1] not like 'search%'
UNION ALL
select id,поле1,поле2,поле3 from v 
where v.[поле3] like 'search%' 
AND v.[поле1] not like 'search%' AND v.[поле2] not like 'search%'
29 дек 09, 14:56    [8132940]     Ответить | Цитировать Сообщить модератору
 Re: использование индексов для запросов с or  [new]
cargo
Member

Откуда: Москва
Сообщений: 26
select id,поле1,поле2,поле3 from v 
where v.[поле1] like 'search%' 
UNION
select id,поле1,поле2,поле3 from v 
where v.[поле2] like 'search%' 
UNION
select id,поле1,поле2,поле3 from v 
where v.[поле3] like 'search%' 
29 дек 09, 16:51    [8134002]     Ответить | Цитировать Сообщить модератору
 Re: использование индексов для запросов с or  [new]
Думающий
Member

Откуда: Месный
Сообщений: 963
cargo,

В вашем варианте будет производится поиск дубликатов , что увеличит время выполнения
29 дек 09, 16:53    [8134021]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить