Acelerar el rendimiento de MySQL con la cache
Publicado por admin el 14 de Junio de 2008 en MySQL
Muchas veces estamos buscando una forma de acelerar las consultas a nuestra base de datos MySQL, pero en MySQL nosotros podemos habilitar la cache de consultas para aumentar el rendimiento del servidor de base datos MySQL. Cada vez que la cache de consultas está activada, esta puede cachear o mantener la consulta en la memoria incrementando de esta forma el rendimiento.
Como sabemos, la velocidad es siempre el elemento más importante en el desarrollo de un sitio web especialmente para aquellos de alto tráfico de datos impulsados por páginas web. Usted puede probar a su vez con la activación de caché de consultas para acelerar la consulta.
Para acelerar una consulta se debe habilitar la cache de consulta MySQL, pero antes es necesario modificar algunas variables en el archivo de configuración del servidor MySQL (usualmente es my.cnf o my.ini):
1º Debe establecer query_cache_type a 1 (hay tres posibles opciones: 0 (deshabilitado / off), 1 (habilitado / on) y 2 (bajo solicitud).
|
|
2º Debe establecer el tamaño de query_cache_size al que usted desee. Por lo general con 20MB es un valor normal.
|
|
Si usted establece una cache de consulta “query-cache-type” = 2 (bajo demanda), usted tendrá que modificar sus consultas SQL (.sql), para que soporten la consultas de cache.
SELECT SQL_CACHE field1, field2 FROM table1 WHERE field3 = ‘yes’
Para verificar si su servidor MySQL tiene habilitada la consulta cache, es suficiente ejecutar la siguiente consulta:
|
|
Usted debería ver un resultado de este estilo:
+——-+—+
| Variable_name | Value |
+——-+—+
| have_query_cache | YES |
| query_cache_limit | 1048576 |
| query_cache_size | 20971520 |
| query_cache_type | ON |
+——-+—+
4 rows in set (0.02 sec)
Para verificar si consulta de cache MySQL está funcionando simplemente realice una consulta SQL dos veces y verifique la cache de mysql, se realice con el siguiente comando debajo:
|
|
+———+—-+
| Variable_name | Value |
+———+—-+
| Qcache_queries_in_cache | 1 |
| Qcache_inserts | 3 |
| Qcache_hits | 0 |
| Qcache_lowmem_prunes | 0 |
| Qcache_not_cached | 2 |
| Qcache_free_memory | 20947592 |
| Qcache_free_blocks | 1 |
| Qcache_total_blocks | 4 |
+———+—-+
La primera vez que se ejecuta una consulta a MySQL es normal que lleve un poco más de tiempo, pero la segunda vez será más rápida en comparación con el primer tiempo de consulta, y eso implica que la cache de consulta mysql está funcionando correctamente.

Suscribirse
A los siguientes comentarios suscribiéndose a Acelerar el rendimiento de MySQL con la cache Comments RSS feed.