Bueno, podría generar el Guid
a mano. Sin embargo, una de las ventajas de un Guid
es que no es fácil de adivinar - es decir, dado el historial 0000-...-0005
, suele haber mucho sentido (de un atacante) la comprobación de registro 0000-....-0004
etc.
También - re fragmentación? Siempre que tenga un índice no agrupado en estos datos, no estoy seguro de que esto sea un problema. Normalmente no colocaría un índice agrupado en un Guid
, por lo que la tabla será un montón (a menos que tenga un índice agrupado por separado, como un IDENTITY
int). En ese caso, agregará al final e insertará el nuevo Guid
en el índice no agrupado. Sin dolor real
(editar) Un problema de utilizar el tiempo directamente es que introduce mucho más riesgo de colisión; tendría que preocuparse por la creación de Guid
de ciclo cerrado (es decir, evitando la repetición al crear unos pocos en secuencia), lo que significa sincronización, etc., y se vuelve aún más problemático si varias máquinas trabajan intensivamente en paralelo; es probable que obtenga duplicados
Probé todas estas muestras de GUI de GUI y todas generan una gran fragmentación con 10K filas. Versión de Arul: 98% de fragmentación.
NHibernate - 53% de fragmentación.
rpcrt4.dll - 98% de fragmentación
bigint - 6% fragmentation
¿Qué tan bien esperan las personas que los productos COMB funcionen? – Shaun
@Shaun esto depende de qué tan rápido inserte, si solo tiene algunas inserciones por segundo no debería haber fragmentación. – Peter