MySQL - Cuál es el mejor rendimiento

   
Vista:

Cuál es el mejor rendimiento

Publicado por swallow (1 intervención) el 21/02/2008 00:23:14
Una pregunta... a nivel de rendimiento de la base de datos mysql y de las query que se realizan en la web, ¿es mejor una tabla grande con muchos registros -pues cada una de las tres tablas que podría unir porque tienen una estructura comuna tiene 20000 registros aproximadamente-, o tres tablas más pequeñas? Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Cuál es el mejor rendimiento

Publicado por Gonzalo (4 intervenciones) el 21/02/2008 02:59:25
En primer lugar, el modelo de desarrollo de la web hace que las query se ejecuten en realidad en el servidor de las bases de datos y no en las PC de los usuarios (programación en tres capas, le dicen), por lo que en realidad el problema no es la ejecución via web, sino el volumen del resultado obtenido, que sí afecta el tráfico de la red.
Esto hace que debas tomar en cuenta dos cosas:
1. El protocolo que estás usando de comunicación (TCP/IP).
2. La composición de los registros de las tablas en cuestión.

El protocolo de internet tiene como límite de paquete 1.500 bytes de datos por cada ráfaga de transmisión, por lo que en realidad debes tratar de calcular la menor cantidad de bytes transferidos si quieres que la cosa funcione rápido. Cuando el bloque de datos supera esa cantidad, se realiza fragmentando el paquete en varios datagramas, que pueden tener delays distintos para su llegada.

La composición de la tabla afecta las consultas simplemente porque algunas de ellas llevan demasiado tiempo por estar mal diseñadas.
Reglas básicas de optimización de consultas puedes buscar en la red. Hay bastante. Pero en principio, si haces una sola tabla muy larga, con demasiados campos, puedes estar sobrecargando al server de MySQL con datos que en realidad no vas a necesitar (Una regla de optimización dice: "¿Realmente es necesario hacer un SELECT *FROM TABLA? ¿Va a usar TODOS esos datos?"). Es mejor un modelo de datos normalizado que uno toscamente diseñado. Siempre.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar