Tables sin clave primaria

Tengo varias tablas cuyos únicos datos únicos son una columna de identificador único (un Guid). Debido a que las guías no son secuenciales (y están generadas en el lado del cliente, por lo que no puedo usar newsequentialid ()), he creado un índice no primario y no agrupado en este campo de ID en lugar de dar a las tablas un primario agrupado llave

Me pregunto cuáles son las implicaciones de rendimiento para este enfoque. He visto a algunas personas sugerir que las tablas deben tener un incremento automático ("identidad") int como clave primaria agrupada, incluso si no tiene ningún significado, ya que significa que el motor de la base de datos puede usar ese valor para rápidamente busque una fila en lugar de tener que usar un marcador.

Mi base de datos se replica por fusión en un grupo de servidores, por lo que he evitado las columnas de identidad int, ya que son un poco difíciles de conseguir en la replicación.

¿Cuáles son tus pensamientos? ¿Deben las tablas tener claves primarias? ¿O está bien no tener índices agrupados si no hay columnas sensibles para indexar de esa manera?

Respuestas a la pregunta(7)

Su respuesta a la pregunta