Да, есть разница. Указывая CLUSTERED
, вы указываете базе данных хранить данные определенным образом. По сути, он обеспечивает сохранение последующих индексов в последующих блоках данных на жестком диске.
При создании кластеризованного первичного ключа, как в первом выражении, все данные в таблице всегда будут иметь уникальные значения в C1, C2
, а данные всегда сохраняются в последующих блоках данных.
Во втором примере вы НЕ применяете это поведение CLUSTERED
через первичный ключ, но через отдельный индекс. Хотя теперь эффекты остались прежними, вы можете удалить (или временно отключить) индекс, и тогда данные больше не будут гарантированно храниться CLUSTERED
.
Итог: на практике эти два утверждения сейчас одинаковы, но могут иметь значение в будущем, поскольку свойство CLUSTERED
не интегрировано в PK, а в отдельный индекс.