2016-08-10 3 views
0

У меня есть столбец HashKey, который я использую в поисковых запросах, но это может иметь повторяющиеся значения. Сейчас у нас есть столбец идентификаторов, который мы сделали его основным ключом. Но я хотел, чтобы изменить теперь составного первичного ключаНужна правильная комбинация композитного ключа и порядка

ALTER TABLE Events 
ADD CONSTRAINT PK_Events_ID_HashKey PRIMARY KEY (HashKey, ID) 

Так что мой вопрос, если я делать поиск по HashKey он будет в полной мере использовать индекс кластера сканирования. Нужно ли создавать отдельный некластеризованный индекс только для столбца HashKey.

Мы в основном одинаковое количество вставок/обновления и поиска операций

Какой будет наиболее полезно в отношении производительности (принимая во внимание операции вставки, а)

+0

Вы можете уточнить это ..» если я выполняю поиск по HashKey, он будет в полной мере использовать сканирование индекса кластеров « – TheGameiswar

+0

Я имею в виду, это будет сканирование индекса кластера?». а также, если это кластерный индекс, то он требует переупорядочения данных на вставке. поэтому, если я пойду для некластеризованного индекса, это будет лучше, чем кластеризованный индекс в моем требовании? –

ответ

0

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

create index nci_test on table(hashkey) 

Там нет необходимости добавлять id колонки, так как это прима ключ чень и будет частью этого индекса тоже ..

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

+0

Я не знаю, почему это проголосовало? –

+0

Я не уверен, я didn; t делаю downvote, если вы следуете этой ссылке и оставьте свой вопрос в соответствии с этим, вы гарантированно получите потрясающие ответы: https: //spaghettidba.com/2015/04/24/how- к сообщению-на-SQL-вопрос-на-а-общественного форума / – TheGameiswar