Consejos para optimizar bases de datos MySQL

Hace unos días charlábamos con Juan Rossi sobre lo complicado que es el proceso de optimizar una base de datos MySQL, como mejorar la forma en que se realizan las consultas, etc. Se podría decir que el uso de base de datos es uno de los aspectos que mas castiga a nuestro servidor.

Optimizar las bases de datos es algo bastante entretenido pero difícil, el principal problema es que uno nunca sabe con total exactitud si lo que esta haciendo es lo optimo, si ponemos como ejemplo algo demasiado grosero, podemos ver que una consulta que recorre toda la base de datos, sin utilizar índices ni nada por el estilo es una “violación de recursos” para el servidor si los campos son muchos, no obstante si el uso que se le da es muy poco no tendremos ningún problema “aparente” y la consulta nos devolverá correctamente los datos. Recorrer una base de datos de punta a punta se podría es una de las peores cosas que podemos hacer, no obstante, si no le aplicamos un volumen de trabajo importante probablemente nunca nos de problemas de caídas ni nada parecido.

Bueno como podrán ver la correcta optimización de una base de datos tiene sus complicaciones, pero por suerte hay gente que se preocupa por ayudarnos, y desde su experiencia, nos dan cientos de consejos. Les dejo un listado de los tutoriales de optimización que fue recolectando durante hace bastante tiempo.

  • Top 1000 SQL Perfomance Tips: esta lista es de lo mejor que vi, probablemente por su practicidad y por como tiene divididas los consejos por su aplicación, de esta lista me entere gracias a Armonth, que inclusive comenta que en Sentido Web hicieron un resume en español. Muy recomendable.
  • 10 SQL Tips: Un PDF muy interesante, aunque no lo recomiendo para personas que no están muy acostumbradas a trabajar con SQL o recién comienzan, puede resultar muy confuso, ahora si tienes experiencia es muy bueno.
  • SQL Procedures Performance: Hints and Tips: Breve pero interesante, nos dan desde IBM algunos consejos para mejorar la performance de nuestras consultas.
  • SQL Performance Tuning using Indexes: Buen tutorial que nos enseña el correcto uso de los índices. Si bien no esta pura y exclusivamente centrado a la optimización, nos cuenta muy bien el como se deberían hacer algunas cosas.

No hace falta decir que recomiendo siempre tener a mano algunas cosas, como el sitio oficial de MySQL, puede servir también tener cerca la chuleta MySQL y si pueden descarguen el libro sobre MyQL que recomendé hace un tiempo.

Si alguien conoce de otros sitios interesantes o tiene a mano algún libro para recomendar, será muy agradecido.

Categorizado en: