Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Composite Indexes  [new]
hey
Guest
In the same way, if we have an index on two columns, we can only use the index to satisfy a predicate on the second column if we have an equality predicate on the first column. Even if we cannot use the index to satisfy the predicate on the second column, we may be able to use it on the first column. In this case, we introduce a "residual" predicate for the predicate on the second column. This predicate is evaluated just like any other scan predicate.

For example, suppose we have a two-column index on columns Col1 and Col2. We can use this index to seek on any of the predicates that worked on the single-column index. We can also use it to seek on these additional predicates:

[Col1] = 3.14 AND [Col2] = 'pi'

[Col1] = 'xyzzy' AND [Col2] <= 0

For the next set of examples, we can use the index to satisfy the predicate on column Col1, but not on column Col2. In these cases, we need a residual predicate for column Col2.

[Col1] > 100 AND [Col2] > 100

[Col1] LIKE 'abc%' AND [Col2] = 2


Не понимаю, почему для поиска строк во втором случае требуется именно equality predicate. Почему индекс нельзя использовать в условии больше/меньше ?
10 авг 09, 05:43    [7515816]     Ответить | Цитировать Сообщить модератору
 Re: Composite Indexes  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Автор, Вы "забыли", что уже создавали подобную тему ?
10 авг 09, 10:18    [7516139]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить