sql >> Base de Datos >  >> RDS >> Sqlserver

¿Debe una columna de clave principal de Guid secuencial ser un índice agrupado?

Primero para aclarar, una clave principal y un índice agrupado son 2 cosas separadas y distintas, es decir, una no está acoplada a la otra (las PK pueden no estar agrupadas, los índices agrupados pueden no ser PK).

Dado eso, creo que está preguntando más "¿Debería usarse un GUID secuencial como un índice agrupado". Esa es una pregunta capciosa, pero Kimberly Tripp ha discutido esto probablemente el mejor de todos los que he visto. Tenga en cuenta que el artículo se refiere a una PK, pero dentro del artículo se refiere a cómo la consideración se aplica principalmente a una opción de índice agrupado frente a una PK.

Suponiendo que ya haya decidido usar un GUID como clave de clúster (que puede ser el caso o no), el uso de un GUID secuencial probablemente sea una mejor opción que un GUID no secuencial, sin embargo, hay al menos 1 escenario en el que se puede preferir un GUID no secuencial (aunque un escenario muy raro y muy avanzado en el que básicamente tendría que comprender su sistema y el servidor SQL tan bien que no tiene dudas de que esto debería usarse) tendría que ver con puntos de acceso en su dispositivo de almacenamiento y distribuir grandes volúmenes de escrituras en diferentes ubicaciones del clúster).