Ver Mensaje Individual
  #4 (permalink)  
Antiguo 03/11/2014, 10:44
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Optimización de una tabla, ¿influye el orden de las columnas? ¿las indexo?

Esos campos "preprocesados" que propones son campos calculados, es decir simplemente repiten una información que ya esta en la base de datos, su principal peligro es que en alguna modificación /actualización de la base de datos no se calculen de nuevo dejando la tabla incoherente.

Es decir para agregrar Gómez si no estaba en la tabla no basta con agregarlo hay que calcular todos los campos.

Si la lista de apellidos es definitiva, no se van ha agregar nuevos no habría problema puesto que una vez calculados los campos no va ha haber modificaciones. Con lo que se podrían crear, pero como te he dicho ya en el primer post si no estan indexados no mejoraran mucho las busquedas.

Yo crearia el indice sobre apellido y veria que performance me dan las consultas...

Ojo el campo id no es obligatorio, pero una PK si lo és. En este caso apellido puede ser la PK con lo que ya tendrías el índice único creado. Las PK numéricas auto incrementales se usan para reducir el tamaño de los índices y de las FK (foreing keys) en otras tablas del sistema. Como no has hablado de mas tablas apellido podría ser tranquilamente la PK de tu tabla.

Cita:
http://dev.mysql.com/doc/refman/5.0/en/mysql-indexes.html (que por cierto es genial)
Manual de referencia
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.