2015-03-31 5 views
1

Могу ли я создать кластерный индекс, созданный на нескольких столбцах с различным направлением сортировки. Например, Создать кластерный индекс IX_Name в таблице1 (Empid asc, empname desc, sal asc)Sql-кластерный индекс в нескольких столбцах с разным направлением сортировки

Если да, то мне любопытно узнать, как, поскольку кластерный индекс хранит данные в одном конкретном порядке и в приведенном выше случае мы хотите, чтобы индекс создавался в трех разных направлениях сортировки.

Заранее спасибо

+0

Если вы запрашиваете данные по заказу «Empid asc, empname desc, sal asc», то вы получаете свои данные в этом порядке, да? Кластеризованный индекс (по этому заказу) упорядочен точно так же. – Arvo

+0

Я не понимаю путаницу. В качестве приведенного примера рассмотрим индекс в двух столбцах '(a desc, b asc)' и четыре строки - '(1, a)', '(2, a)', '(1, b)' и '(2, б) '. Ну, мы сортируем их по этой спецификации и индексируем их в порядке '(2, a)', '(2, b)', '(1, a)' и '(1, b)'. Вот и все. –

ответ

0

Да, вы можете, и значение индекса даже не требуются, чтобы быть уникальными, если они не являются, SQL Server будет добавлять идентификатор строки в каждую строку, чтобы сделать его уникальным

0

Спасибо Эрик за быстрый ответ. Но моя путаница касается направления сортировки, так как в кластерных индексах хранится данные в одном определенном порядке сортировки, а в указанном выше индексе мы определили три разных направления сортировки.

+0

Не публикуйте это как ответ. Это либо комментарий к ответу Эрика, либо редактирование на ваш вопрос - не ответ! – jarlh

 Смежные вопросы

  • Нет связанных вопросов^_^