Sugerencias para optimizar una base de datos MySQL
Cuando un sitio web tiene demasiadas consultas a la base de datos, es conveniente optimizar los servicios de mysql y php.
Se pueden seguir una serie de pasos para que el sitio aumente el rendimiento considerablemente, dependiendo como se haga y en que servidor este corriendo.
Estos consejos básicos son para el servidor Apache que incluye MySQL.
- Optimizar las tablas desde phpMyAdmin
- Esto es muy sencillo, entrando en la base de datos en phpMyAdmin , abajo marcar la opción 'Marcar todos/as' y luego a la derecha en la lista desplegable elegir "Optimizar tabla"
- Exportar, borrar e importar
- Esto también es sencillo y junto con la opción anterior da buen resultado, hay que hacerlo periódicamente. también en phpMyadmin se elije la base de datos y luego la opción del menú superior "Exportar" , luego marcar la casilla de verificación "Enviar (genera un archivo descargable)" (opcional) y presionar el botón "Continuar". Finalmente borrar todas las tablas e Importar el archivo. Se recomienda respaldar siempre.
- Variables importantes a configurar
- query_cache_size - Si nuestra aplicación tiene lecturas intensivas y no tenemos cache a nivel de aplicaciones, puede ser de gran ayuda. Valores desde los 32M a los 512M tienen sentido normalmente. Esto se aconseja cuando son muchas las consultas. table_cache - Permite evitar la reapertura (a veces costosa para algunos motores de BD) tmp_table_size - Esta variable especifíca el tamaño máximo implícito temporal de una tabla (creada durante la ejecución de una query automáticamente) que permitirá alcanzar en MEMORIA antes que sea convertida en disco en una tabla temporal MyISAM.
Para configurar las variables del sistema MySQL es necesario contar con acceso SSH (soportado por la mayoría de los sitios webs), los valores se modifican a través de la Consola de comandos, en inglés Shell. Un buen programa para acceder mediante SSH es Tunnelier, que significa 'máquina que abre tuneles', es gratuito además de la Consola también cuenta con FTP/SFTP gráfico avanzado y Escritorio remoto.
Estos son solo unos pocos consejos, buscando en la web se encuentran muy buenos artículos como estos a continuación:
Zend Optimizer puede servir también