Tamaño de índice demasiado grande

09/11/2007 - 12:07 por SeG | Informe spam
Hola a todos.
Quería plantearles una duda que tenemos, y no damos con la mejor
solución.
Tenemos una tabla bastante grande (9 millones de registros), y
trabajamos con SQL2000.

Ahora tenemos la necesidad de meter un nuevo campo, que además se
utilizará para búsquedas por tanto requiere un índice, y está
compuesto de 22 digitos numéricos.

Es un campo bastante grande como veis.

Tenemos dudas si para este campo será mejor utilizar un varchar o un
numérico, no sabemos si ésto afectará a las búsquedas

Gracias a todos !!!!
 

Leer las respuestas

#1 Salvador Ramos
09/11/2007 - 14:22 | Informe spam
Hola,

Puedes utilizar DECIMAL(22, 0) que utilizará 13 bytes. Una cosa importante
es saber si siempre van a ser 22 números o pueden ser menos. Y si los
quieres ordenar a la hora de mostrarlos de forma numérica (1, 2, 10, 11,
...) o alfanumérica (1, 10, 11, 2, ...)

Además deberías ver si los mismos valores van a aparecer muchas veces. Por
ejemplo por un campo que puede tener los valores A, B y más o menos en la
misma proporción no es conveniente poner un índice.

También, una vez creado el campo puedes utilizar los asistentes para
optimización de índices utilizando las consultas que realmente vas a
ejecutar sobre ellos, y el propio sistema te hará la recomendación de tener
o no el índice.

Un saludo
Salvador Ramos

www.helpdna.net (información sobre SQL Server y Microsoft .Net)
www.helpdna.net/acerca_de_salvador_ramos.htm


"SeG" escribió en el mensaje
news:
Hola a todos.
Quería plantearles una duda que tenemos, y no damos con la mejor
solución.
Tenemos una tabla bastante grande (9 millones de registros), y
trabajamos con SQL2000.

Ahora tenemos la necesidad de meter un nuevo campo, que además se
utilizará para búsquedas por tanto requiere un índice, y está
compuesto de 22 digitos numéricos.

Es un campo bastante grande como veis.

Tenemos dudas si para este campo será mejor utilizar un varchar o un
numérico, no sabemos si ésto afectará a las búsquedas

Gracias a todos !!!!

Preguntas similares