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

consulta sobre optimización de bases de datos MySQL

Estas en el tema de consulta sobre optimización de bases de datos MySQL en el foro de Mysql en Foros del Web. He leído en un sitio algunos tips para optimizar el trabajo que se ahag con bases de datos MySQL y hay algunos que me dejan ...
  #1 (permalink)  
Antiguo 09/07/2006, 19:16
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 4 meses
Puntos: 13
consulta sobre optimización de bases de datos MySQL

He leído en un sitio algunos tips para optimizar el trabajo que se ahag con bases de datos MySQL y hay algunos que me dejan dudas, principalmente éste:

Cita:
"MySQL interpreta de derecha a izquierda, por lo que los limitadores más significativos los debes poner lo más a la derecha posible."
La otra duda que me queda es con los índices. Se supone que no tendría sentido usarlas en tablas pequeñas, ya que no habría mucha diferencia de velocidad si se escanea completa. ¿cuando se debe considerar pequeña una tabla?. ¿una tabla de 4 columnas y aprox. 400 registros es pequeña?
__________________
El conocimiento es libre: Movimiento por la Devolución
  #2 (permalink)  
Antiguo 09/07/2006, 19:50
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 9 meses
Puntos: 24
"MySQL interpreta de derecha a izquierda, por lo que los limitadores más significativos los debes poner lo más a la derecha posible."

Esto no es muy cirto que digamos, la mayoria de los mottores traen una funcionalidad que se llama, optimizador de consultas. Este lo que haces es modificar la consulta para que la ejecucion de la misma sea lo mas optima posible (sin modificar el resultado de la consulta), es decir que por mas que cambies de lugar los limitadores, MySQL segurmaente modificara la consulta y la reordenara de manera que sea mas eficiente.

¿una tabla de 4 columnas y aprox. 400 registros es pequeña?
pues en ese tamaño podrias ocnsiderar el uso de un indice.
Lo que puedes hacer es colocar un indice y testear las consultas a esa tabla, y luego hacer el mismo test sacando los indices. Compara los tiempos y si hay diferencia, pues deja los indices puestos.
__________________
http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux
  #3 (permalink)  
Antiguo 10/07/2006, 15:38
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 4 meses
Puntos: 13
Gracias, ya me puse a hacer pruebas. Ahora, si no fuera mucha molestia, me gustaría hacerte una pregunta más:

¿Existe algún criterio para definir el orden en que sea crean los campos en una tabla?. Hace un tiempo leí el siguiente orden, pero no me acuerdo donde como para leer el texto completo:

Cita:
En primer lugar las columnas que serán requeridas (me imagino que se refiere a las NOT NULL). Dentro de este grupo, primero las columnas de longitud fija (ej: CHAR) y luego las de longitud variable (ej: VARCHAR).

Y finalmente las columnas que pueden ser NULL. Y en este grupo primero las de longitud fija y luego las de longitud variable.
¿Es tan así?
__________________
El conocimiento es libre: Movimiento por la Devolución
  #4 (permalink)  
Antiguo 13/07/2006, 23:16
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 9 meses
Puntos: 24
No seria una mala practica que lo hicieras de la manera en que señalas, aunque esprobable que a la hora e crear tablas, MySQL no cree los campos en el orden que tu le indiques, sino que los debe reordenar al igual que las consultas, para obtener un mejor rendimiento.
__________________
http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux
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 03:55.