> Manuales > Tutorial de SQL

Los campos, su naturaleza y dimensiones. Cómo gestionarlos para mejorar la eficiencia de la base de datos.

Gestion de los campos

Ya hemos comentado por encima los diferentes tipos de campo existentes en una base de datos. La elección del tipo de campo apropiado para cada caso puede ayudarnos también a optimizar el tamaño y rapidez de nuestra base de datos.

La preguntas que hay que hacerse a la hora de elegir la naturaleza y dimensiones del campo son:

-¿Qué tipo de dato voy a almacenar en el campo? Números, texto, fechas...

-¿Cuál es el tamaño máximo que espero que pueda alcanzar alguno de los registros del campo?

Hay que tener en cuenta que cuanto más margen le demos al valor máximo del campo, más aumentará el tamaño de nuestra base de datos y más tiempo tardara en realizar las consultas. Además, el factor tamaño puede verse agravado si estamos definiendo un campo indexado, para los cuales, el espacio ocupado es aproximadamente del doble.

Un consejo práctico es que las fechas sean almacenadas en formato de fecha ya que ello nos permite reducir el espacio que ocupan en memoria de más del doble y por otro lado, podremos aprovechar las prestaciones que SQL y nuestro lenguaje de servidor nos ofrecen. Podremos calcular la diferencia de días entre dos fechas, ordenar los registros por fecha, mostrar los registros comprendidos en un intervalo de tiempo...

Existe la posibilidad para los campos de texto de fijar una cierta longitud para el campo o dejar que cada registro tenga una longitud variable en función del número de carácteres que posea. Elegir campos de longitud variable nos puede ayudar a optimizar los recursos de memoria de la BD, no obstante, es un arma de doble filo ya que las consultas se realizan más lentamente puesto que obligamos a la tabla a establecer cuál es el tamaño de cada registro que se está comparando en lugar de saberlo de antemano. Es por tanto aconsejable, para los campos indexados de pequeño tamaño, atribuirles una longitud fija.

Rubén Alvarez

Rubén es doctor en química y programador aficionado con experiencia en PHP.

Manual