2010-02-09 18 views

Respuesta

6

query_cache_min_res_unit es una variable que puede ser utilizado para las consultas de optimización, dependiendo de grandes conjuntos de resultado que puede estar trabajando con.

Por definición, el valor es cantidad mínima de memoria que MySQL asignará para almacenar una consulta.

Le recomendamos que este valor sea aproximadamente el tamaño medio de la consulta. Cada base de datos tiene diferentes valores para el mínimo, dependiendo de la cantidad de conjuntos con los que está trabajando.

Aquí es mío:

mysql> show variables like "query%"; 
+------------------------------+---------+ 
| Variable_name    | Value | 
+------------------------------+---------+ 
| query_alloc_block_size  | 8192 | 
| query_cache_limit   | 1048576 | 
| query_cache_min_res_unit  | 4096 | 
| query_cache_size    | 0  | 
| query_cache_type    | ON  | 
| query_cache_wlock_invalidate | OFF  | 
| query_prealloc_size   | 8192 | 
+------------------------------+---------+ 
7 rows in set (0.25 sec) 

Como se puede ver, mi valor mínimo es de 4096 bytes.

Como seguimiento, se puede leer más en Optimizing the MySQL Query Cache

+0

Gracias, creo que lo entiendo. ¡Ese artículo fue bueno! Por cierto, creo que los números en las variables son bytes, no KB ... Aunque no estoy seguro ... Gracias :) –

+0

Puede que tengas razón, la editaré de todos modos porque ahora estoy dudoso. –

+0

el caché de consultas asigna bloques con un tamaño mínimo dado por la variable de sistema query_cache_min_res_unit. Cuando se ejecuta una consulta, el último bloque de resultados se recorta al tamaño real de los datos para que se libere la memoria no utilizada. – user1342336