Я просто хочу сказати застереження: будь ласка, дуже обережно підберіть ваш кластерний індекс! Кожна "звичайна" таблиця даних повинна мати кластерний індекс, оскільки наявність кластерного індексу дійсно прискорює багато операцій - так, пришвидшити , навіть вставити та видалити! Але тільки якщо ви вибрали хороший кластерний індекс.
Це найбільш реплікувана структура даних у вашій базі даних SQL Server. Ключ кластеризації також буде частиною кожного некластеризованого індексу вашої таблиці.
Ви повинні бути обережними, підбираючи кластерний ключ - це повинно бути:
вузький (4 байти ідеально)
унікальний (це "покажчик рядка" врешті-решт. Якщо ви не зробите його унікальним, SQL Server зробить це за вас у фоновому режимі, коштуючи вам пару байтів за кожен запис раз у кількість рядків та кількість некластеризованих індексів у вас є - це може бути дуже дорого!)
статичний (ніколи не змінюйте - якщо можливо)
в ідеалі постійно зростаючий, щоб ви не закінчилися жахливою фрагментацією індексу (GUID - це суцільна протилежність хорошого кластерного ключа - саме з цієї причини)
вона повинна бути нерегульованою, а в ідеалі також фіксованою шириною - a varchar(250)
робить дуже поганий кластерний ключ
Все, що насправді повинно бути другим та третім рівнем важливості за цими пунктами ....
Перегляньте кілька публікацій блогу Кімберлі Тріпп ( Королева індексації ) на цю тему - все, що вона написала у своєму блозі, абсолютно безцінне - прочитайте, перекажіть - живіть цим!