Ver Mensaje Individual
  #5 (permalink)  
Antiguo 05/03/2010, 07:40
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Como hacer un (sql o query) en mysql?

A tu primera pregunta:
- Segmenta los INNER JOIN para contenerlos en tablas derivadas en el FROM por medio de subconsultas, que a su vez sean las que reduzcan los resultados intermedios de la mejor forma posible.
- Verifica el uso de índices de alta selectividad. Cuando un índice contiene todos los datos que MySQL necesita para devolver una consulta, no lee la tabla.
- Reduce el uso de "SELECT * ...". haz que MySQL recupere campos específicos para lo que necesitas. El "*" es la forma menos óptima de consulta.

Y en general:
- Modifica el tipo de campos, si es posible, para optimizar el almacenamiento y recuperación. Cuando tienes un dato que nunca será BIGINT, BLOB, LONGTEXT o DATETIME, por ejemplo, no tiene sentido usarlo. Mientras menor sea el registro devuelto, más rápida será la lectura de datos.
- Nunca te olvides que el hardware y los enlaces de red afectan muchísimo la perfomance de la base. De nada te servirá un Oracle 11g, si lo vas a usar con una PC de 256 Mb de ram... Con MySQL pasa algo parecido: Si usarás muchos recursos, es mejor que lo que uses resista. Por eso las PCs no son servidores de bases de datos... Hay máquinas específicas para eso.


... y muchísmo más.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)