O MySQL é o maior sistema de base-dados open source existente. É utilizado em milhões de aplicações que utilizamos na web e não só, para uma lista de clientes podem visitar o site.
Este sistema de base-dados por muito bom que seja não vêm totalmente optimizado para cada aplicação no momento em que é instalado, isto nota-se mais em sistemas com poucos recursos. A utilização do cache das querys pode aumentar a performance significativamente.
Cache das Querys
Para pequenos sites ou aplicações web pode ser vantajoso guardar os resultados em cache, o que permitira obter os dados da base-dados mais rapidamente, e sem gastar tantos ciclos do CPU.
#my.cnf
query-cache-type = 1
query-cache-size = 20M
O primeiro parametro query-cache-type define o estado do sistema de cache de querys, ou seja activo ( 1), desactivo( 0) ou por pedido (2), este ultimo utilizara o cache apenas nas querys que o pedirem expressamente. Aqui fica um exemplo disso.
SELECT SQL_CACHE id, nome FROM pessoas WHERE grupo = 'confrades';
O segundo parametro query-cache-size limita o tamanho máximo do cache das querys para não consumir toda a ram.
Redução da Utilização de Memoria RAM
A instalação por defeito do MySQL vêm com uma serie de parâmetros que podem não estar a ser utilizados e consomem bastante memoria RAM.
Para quem não utiliza tabelas em InnoDB um metodo que pode poupar significativamente memoria RAM é com o seguinte parametro no my.cnf.
skip-innodb
Este parametro pode poupar muita memoria em certas instalações. Podem ainda ajustar estes parâmetros á memoria que têm ao vosso dispor para que nada seja desperdiçado.
key_buffer_size=131072
max_connections=60
max_allowed_packet=1M
table_cache=10000
tmp_table_size=524888
Tenham em atenção que estes parâmetros estão definidos para consumir no maximo 512MB de memoria RAM.
Os parâmetros max_connections e max_allowed_packet são os únicos que não envolvem cache. Os restantes parâmetros cobrem o cache de tabelas e chaves-primárias.