Está en la página 1de 2

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 ms importante en el desarrollo de un sitio web especialmente para aquellos de alto trfico de datos impulsados por pginas web. Usted puede probar a su vez con la activacin 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 configuracin 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).
query-cache-type = 1

2 Debe establecer el tamao de query_cache_size al que usted desee. Por lo general con 20MB es un valor normal.
query-cache-size = 20M

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:
SHOW VARIABLES LIKE %query_cache%';

Usted debera 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:
SHOW STATUS LIKE %qcache%';

++-+ | 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 ms de tiempo, pero la segunda vez ser ms rpida en comparacin con el primer tiempo de consulta, y eso implica que la cache de consulta mysql est funcionando correctamente.

También podría gustarte