Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Выборка из таблицы по 2-м полям.  [new]
Starlex
Member

Откуда: С.-Петербург
Сообщений: 1169
Привет!

Есть таблица, состоящая из 2-х полей
CREATE TABLE [dbo].[Ranges](
	[ID] [numeric](14, 0) NULL,
	[SN] [numeric](8, 0) NULL
) ON [PRIMARY]

Это хранилище идентификаторов и серийных номеров неких изделий. Строк может быть от нескольких миллионов до десятков миллионов. Нужно сделать как можно быстрые выборки как по ID так и по SN, причем с массивами.

where SN in ()
where ID in ()

Как можно проиндексировать эти поля, чтобы эти два поиска работали как можно быстрее? Самый быстрый поиск по кластеризованному индексу, но ведь нельзя сделать два независимых кластеризованных индекса в одной таблице. В крайнем случае не будет большой проблемы сделать две таблицы и делать выборки с одним условием из одной таблицы, с другим условием - из другой. Но если ли еще решения?

Спасибо!
1 дек 09, 19:37    [8004898]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из таблицы по 2-м полям.  [new]
iljy
Member

Откуда:
Сообщений: 8711
Starlex,

уважаемый, вы знаете, как устроен обычный (некластерный) индекс? В его листья всегда входят поля от кластерного, так что делайте на своей таблице по одному полю кластерный индекс, по другому некластерный (по какому какой - это уж сами думайте) и не заморачивайтесь.
1 дек 09, 19:56    [8004948]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить