2

Целью использования последовательного указателя является то, что вы можете использовать кластерные индексы без высоких уровней фрагментации, которые обычно существовали бы в кластерном индексе, если бы это был обычный guid, правильно?Должен ли столбец первичного ключа Sequential Guid быть кластеризованным индексом?

ответ

6

Прежде всего, чтобы уточнить, первичный ключ и кластеризованный индекс являются 2 отдельными и разными вещами, то есть один не связан с другим (ПК могут быть некластеризованными, кластерные индексы могут быть не-ПК).

Это, я думаю, вы спрашиваете больше: «Если последовательный GUID будет использоваться как кластеризованный индекс». Это загруженный вопрос, но Kimberly Tripp has discussed this, вероятно, лучший из всех, кого я видел. Обратите внимание, что статья относится к ПК, но внутри статьи она ссылается на то, как рассмотрение относится в основном к кластерному выбору индекса по сравнению с ПК.

Предполагая, что вы уже решили использовать GUID в качестве ключа кластера (что может быть или не быть), использование последовательного GUID, скорее всего, будет лучшим выбором для несекретного GUID, однако там по крайней мере, один сценарий, где может быть предпочтительным несекретный GUID (хотя это очень редкий, очень продвинутый сценарий, в котором вам нужно было бы в принципе понять вашу систему и SQL-сервер так хорошо, что вы не сомневаетесь, что это должно быть использовано - связаны с горячими точками на вашем устройстве хранения и распространяют большие объемы записей в разных местах кластера).

+0

Спасибо за дополнительную информацию, надеюсь, это принесет пользу кому-то позже. –

 Смежные вопросы

  • Нет связанных вопросов^_^