Я согласен с Cade Roux .
Эта статья поможет вам выбрать правильный путь:
Следует отметить, что кластеризованные индексы должны иметь уникальный ключ (столбец идентификаторов, который я бы рекомендовал) в качестве первого столбца.
По сути, это помогает вставлять данные в конец индекса и не вызывает много дискового ввода-вывода и разбиения страниц.
Во-вторых, если вы создаете другие индексы для ваших данных, и они построены умно, они будут использованы повторно.
например. представьте, что вы ищете таблицу по трем столбцам
штат, округ, почтовый индекс.
- Вы иногда ищете только по штатам.
- Вы иногда ищете по штатам и округам.
- Вы часто выполняете поиск по штатам, округам, почтовым индексам.
Затем указатель с указанием штата, округа, почтового индекса. будет использоваться во всех трех этих поисках.
Если вы выполняете поиск по одному zip-файлу довольно часто, то вышеупомянутый индекс не будет использоваться (в любом случае SQL Server), поскольку zip - третья часть этого индекса, и оптимизатор запросов не посчитает этот индекс полезным.
Затем вы можете создать индекс только на Zip, который будет использоваться в этом случае.
Полагаю, что ответ, который вы ищете, зависит от того, где вы находитесь, где содержатся ваши часто используемые запросы, а также от группы по.
Статья очень поможет. : -)