Acelerando MySQL ► El incremento en el uso de MySQL en grandes organizaciones, exige: Mayor Capacidad de respuesta Alto Rendimiento Fiabilidad ► MySQL viene configurado para poder correr en máquinas pobres. Si queremos más de el, debemos acelerarlo Consideraciones Previas ► Mejorar la capacidad de nuestras aplicaciones, implica revisar y optimizar nuestro código, nuestro diseño de base datos, índices, etc. Corazón de MySQL ► Elfactor más importante a la hora de mejorar la eficacia de un servidor MySQL es la memoria. ► MySQL usa la memoria para mantener un gran número de buffers y caché, tanto globales o por conexión. Tipos de Memoria ► Global: Contiene información compartida por todas las conexiones de MySQL. Por ejemplo, el buffer de claves y el caché de tablas. ► Por Conexión: Reservan información en función a las necesidades de búsqueda. Búsquedas por Indice ► Cuando MySQL busca una información, revisa primero si el índice se encuentra en memoria. ► La opción Key_Buffer determina el tamaño de la memoria dedicada a almacenar los índices. ► Si no lo encuentra, tendrá que ir al Disco Duro, copiar el índice en memoria y continuar su trabajo. ► El valor por defecto es de 8 MB. Caché de Tablas ► LasTablas están compuestas por 3 archivos: MyD, el cual contiene la data. MyI, para los índices. FRM, el cual contiene la definición de la tabla. ► Cada vez que MySQL tenga que trabajar con una tabla, abrirá esos 3 archivos y nos los cerrará hasta que no los necesite. Caché de Tablas ►O hasta que alcance el valor máximo de table_cache, que es por defecto 64. ► Si el servidor tiene un gran número de tablas, perderá mucho tiempo abriendo y cerrando archivos. Escaneo de Tablas ► Se da lugar cuando se lee toda la tabla en lugar de usar un índice o simplemente cuando no hay índice. ► La opción record_buffer nos permite leer las tablas en trozos más grandes, reduciendo así el número de accesos a disco y acelerando la búsqueda. Ordenando la Información ► Elbuffer de ordenación se usa en búsquedas que incluyen las sentencias ORDER y GROUP. ► La variable sort_buffer viene establecida a un valor por defecto de 8 MB. Consideraciones ► Se debe realizar los cambios uno a uno y evaluar la respuesta del servidor en las situaciones más reales posibles. ► No se deberá experimentar con un servidor de producción, para tal fin utilizar uno de similares características.