2012-05-11 21 views
8

Columna Varchar (max) no permitida ser una Clave principal en SQL Server.Columna Varchar (max) no permitida para ser una Clave principal en SQL Server

¿Cuál es la longitud máxima de un tipo varchar que puede convertirse en clave principal.

Esto podría ser una mala práctica, pero se encontró con la situación.

+3

¿Por qué no tiene una columna de ID? –

+0

No está utilizando varchar (max) para nada excepto para los campos que espera que sean más de 8000 caracteres ¿verdad? De ser así, tendrá problemas de rendimiento debido a los problemas de indexación. – HLGEM

Respuesta

16

900 bytes es la longitud máxima para una clave principal, esta es una mala idea en mi opinión, ¿por qué no utiliza una clave sustituta en su lugar?

4

Esta pregunta ya ha sido respondida in this thread; la respuesta corta es que un campo de índice no puede exceder los 900 bytes. Dicho esto, generalmente es una mala idea usar un campo VARCHAR largo como índice por una miríada de razones, como la eficiencia y la capacidad de mantenimiento.

3

La clave principal se usa en todos los demás índices para identificar las filas. Tener un valor potencialmente multi-megabyte como clave tiene muy poco sentido, de ahí el límite en general sobre el total de bytes en cualquier clave.

Cuestiones relacionadas