Я згоден з Кейдом Ру .
Ця стаття має стати на правильному шляху:
Варто зазначити, що кластерні індекси повинні мати унікальний ключ (стовпець, який я б рекомендував) як перший стовпець. В основному це допомагає вашим даним вставляти в кінці індексу і не спричиняти багато розбитків вводу-виводу та сторінки на диску.
По-друге, якщо ви створюєте інші індекси для своїх даних і вони сконструйовані розумно, вони будуть повторно використані.
наприклад, уявіть, що ви шукаєте таблицю в трьох стовпцях
штат, повіт, поштовий індекс.
- Ви іноді здійснюєте пошук лише за державою.
- Ви іноді здійснюєте пошук за штатом та округом.
- Ви часто шукаєте по державі, округу та поштовому індексу.
Потім індекс із державою, округом, поштовим індексом. буде використовуватися в усіх трьох цих пошуках.
Якщо ви шукаєте по одному поштовому індексу досить багато, то зазначений вище індекс не буде використовуватися (все одно на SQL Server), оскільки zip є третьою частиною цього індексу, і оптимізатор запитів не вважатиме цей індекс корисним.
Потім ви можете створити індекс лише на Zip, який буде використовуватися в цьому випадку.
До речі, ми можемо скористатись тим, що при індексації багато стовпців перший стовпець індексу завжди корисний для пошуку, і коли ви шукаєте лише за допомогою "держави", він є ефективним, але ще не настільки ефективним, як показник "Один стовпчик" '
Я думаю, відповідь, яку ви шукаєте, полягає в тому, що це залежить від того, де є пропозиції ваших часто використовуваних запитів, а також вашої групи.
Стаття дуже допоможе. :-)