Pregunta

Sé que las claves primarias basadas en Guías no tienen el mejor rendimiento (debido a la fragmentación), pero son globalmente únicas y permiten escenarios de replicación.

Los identificadores integrales, por otro lado, tienen un mayor rendimiento a costa de la escalabilidad.

Pero, ¿en qué escenarios alguien querría usar un identificador único secuencial como clave principal? Creo que supera el propósito de GUID, pero aún veo mencionar las secuelas de vez en cuando.

¿Qué extraño aquí?

¿Fue útil?

Solución

Lo que comúnmente se conoce como guías secuenciales en SQL Server 2005 (generado por NEWSEQUENTIALID ()) es un intento de superar los problemas con las guías normales.

Ellos son aún universalmente únicos pero también siempre están ascendiendo. Esto significa que pueden usarse para la replicación y tienen un rendimiento de inserción mucho mejor que los GUID tradicionales.

El único inconveniente es que no son "seguros". porque es posible adivinar el siguiente guid secuencial.

http://msdn.microsoft.com/en-us/library /ms189786.aspx

Otros consejos

El uso de guías secuenciales garantiza que siempre esté usando un valor mayor que el último valor. Para un campo indexado esto es importante. En lugar de insertar aleatoriamente en todo el espectro, siempre está insertando al final de la última " página " de datos, lo que resulta en divisiones de página reducidas drásticamente, especialmente en el caso donde su columna de identificador único también es su índice agrupado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top