martes, 2 de abril de 2013

20 trucos para MySQL

20 trucos para MySQL


Un gran porcentaje de las bases de datos para webs en todo el mundo, estan construidas bajo una base de datos MySQL. Siempre que se empieza un proyecto nuevo, o cuando se intenta mejorar el rendimiento de uno existente, hay que tener en cuenta ciertas "normas", para que el funcionamiento del sistema sea lo mejor posible. Aquí os dejo un listado de pequeños trucos de MySQL:


  1. Usa EXPLAIN para revisar tus consultas problematicas.
  2. Indexa los campos de búsquedas y los relacionados en las JOINs.
  3. Nunca uses el SELECT *
  4. Seleciona el tipo de tabla dependiendo el uso que le vayas a dar: myisam vs innodb
  5. Activa la cache del mysql y ajusta su tamaño.
  6. Usa enumerados (ENUM).
  7. Utiliza LIMIT 1 cuando quieras un solo registro.
  8. Ajusta el tamaño del buffer todo lo que puedas en relación a la memoria disponible en el servidor.
  9. Revisa la fragmentación de tus tablas e indices. Si es grande haz un OPTIMIZE TABLE.
  10. Evita el ORDER BY RAND().
  11. Establece tus campos con el tipo más ajustado a su tamaño.
  12. Con PROCEDURE ANALYSE() podrás ver y ajustar tus tablas.
  13. Si tienes tablas muy grandes realiza un particionado horizontal o vertical dependiendo del caso.
  14. Pasa los valores que puedas a tablas históricas.
  15. Usa insert delayed cuando las inserciones de datos no tengan que ser inmediatas.
  16. Agrupa INSERTs en una sola sentencia.
  17. Prioriza tus consultas.
  18. No uses campos de longitud variable.
  19. Divide sentencias muy complejas de ser necesario.
  20. Usa procedimientos almacenados siempre que sea posible.
Para más información acerca de esto, podeis ver este articulo sobre optimización de mysql, o podéis ver la página oficial de mysql para desarrolladores.

Esta lista de consejos, son para el desarrollador o DBA, en un futuro escribiré acerca de como mejorar el rendimiento de cara al servidor. Pequeños ajustes dentro del propio servidor de MySQL, configurando las variables de sistema del mism.

No hay comentarios:

Publicar un comentario