jueves, 11 de marzo de 2010

MySQL y la importancia de los índices para consultas óptimas

He estado haciendo bastantes pruebas para optimizar consultas SQL que utilizan varios INNER JOIN entre tablas y logré bajar los tiempos de las consutlas en 2,5 segundos con solo manipular algunos índices en las tablas.

Les dejo algunas experiencias que me han dado buen resultado:

  • No tener más índices que los necesarios en las tablas
  • Crear índice en campos que se van a consultar con LIKE
  • Crear índices sobre campos que se van a utlizar con ORDER BY
  • Utilizar solo los JOIN que sean necesarios, si una búsqueda no va a utlizar algunas tablas no incluirlas en ningún JOIN
  • No utilizar INT (10) en los índices, pueden guardarse 16 millones de registros con un índice Mediumint, ocupa la mitad de espacio y acelera las consultas en un 25%
Es importante tambien que el diseño relacional de la base de datos sea lo mejor posible, esto tambien ayuda a tener consultas optimas.

Espero les sea de utilidad, espero sus comentarios,...

No hay comentarios:

Publicar un comentario

Buscar este blog