Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Tipo de dato para clave primaria

Estas en el tema de Tipo de dato para clave primaria en el foro de SQL Server en Foros del Web. Hola de nuevo... Una duda, tengo una clave primaria que es tipo varchar, pero lo que hacemos es almacenar números allí, cuando se ingresa un ...
  #1 (permalink)  
Antiguo 22/11/2007, 14:31
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años, 8 meses
Puntos: 47
Pregunta Tipo de dato para clave primaria

Hola de nuevo...

Una duda, tengo una clave primaria que es tipo varchar, pero lo que hacemos es almacenar números allí, cuando se ingresa un nuevo registro se va a buscar el mayor número, se le suma uno y allí tenemos el siguiente valor, pero en otras bases he visto que se manejan bajo el mismo esquema pero el tipo de dato es int.

Que es mejor, int o varchar para este caso?

Saludos Cordiales
  #2 (permalink)  
Antiguo 22/11/2007, 18:17
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 17 años, 5 meses
Puntos: 180
Re: Tipo de dato para clave primaria

¿Es NUMEROS lo que guardas?, tu te estas dando la respuesta, debe ser del tipo NUMERIC
  #3 (permalink)  
Antiguo 23/11/2007, 08:06
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años, 8 meses
Puntos: 47
Re: Tipo de dato para clave primaria

hola islas... gracias por responder. En vez de numeric no seria mejor int?
  #4 (permalink)  
Antiguo 23/11/2007, 11:05
 
Fecha de Ingreso: enero-2005
Mensajes: 260
Antigüedad: 20 años
Puntos: 0
Re: Tipo de dato para clave primaria

Mira, la verdad es que es mejor int, puedes estar seguro de eso.
  #5 (permalink)  
Antiguo 23/11/2007, 23:18
Avatar de royrojas  
Fecha de Ingreso: diciembre-2004
Mensajes: 458
Antigüedad: 20 años
Puntos: 3
Re: Tipo de dato para clave primaria

Cita:
Iniciado por Developer9 Ver Mensaje
Hola de nuevo...

Una duda, tengo una clave primaria que es tipo varchar, pero lo que hacemos es almacenar números allí, cuando se ingresa un nuevo registro se va a buscar el mayor número, se le suma uno y allí tenemos el siguiente valor, pero en otras bases he visto que se manejan bajo el mismo esquema pero el tipo de dato es int.

Que es mejor, int o varchar para este caso?

Saludos Cordiales
definitivamente es mucho mejor int, ya que las busquedas de una lleve string es muy ineficiente.

Si haces un select on where a una columna string el consumo de la base de datos es mucho mayor que si fuera entero.

Varchar es de largo variable, y sql tiene que hacer busquedas secuenciales, una por una, y eso es muy ineficiente.
__________________
roy rojas
Programación en Español: DotNetcr.com
  #6 (permalink)  
Antiguo 24/11/2007, 07:50
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 17 años, 5 meses
Puntos: 180
Re: Tipo de dato para clave primaria

Al decir NUMERIC, quise decir del tipo NUMERICO (int, bigint, float, decimal, etc)
  #7 (permalink)  
Antiguo 26/11/2007, 08:09
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años, 8 meses
Puntos: 47
Re: Tipo de dato para clave primaria

Cita:
Iniciado por royrojas Ver Mensaje
definitivamente es mucho mejor int, ya que las busquedas de una lleve string es muy ineficiente.

Si haces un select on where a una columna string el consumo de la base de datos es mucho mayor que si fuera entero.

Varchar es de largo variable, y sql tiene que hacer busquedas secuenciales, una por una, y eso es muy ineficiente.
Cita:
Iniciado por yasahe Ver Mensaje
Mira, la verdad es que es mejor int, puedes estar seguro de eso.
Cita:
Iniciado por iislas Ver Mensaje
Al decir NUMERIC, quise decir del tipo NUMERICO (int, bigint, float, decimal, etc)

Gracias weyes... entonces de ley es mejor int. Gracias islas, te lo decía porque vi que existía un tipo de dato NUMERIC, independiente de int. Y al parecer se busca más rápido con int que con varchar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:24.