Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Mantendo dados mais dados de índice na memória - InnoDB vs. MyISAM

  • Nenhum MyISAM não possui cache de dados de uso geral. Isso está documentado na descrição "key_buffer_size" de a documentação oficial :This is because MySQL relies on the operating system to perform file system caching for data reads, so you must leave some room for the file system cache.

Os sistemas operacionais modernos, especialmente o Linux, tendem a ter subsistemas de memória virtual muito inteligentes que mantêm os arquivos acessados ​​com frequência no cache da página, de modo que a E/S de disco é mantida no mínimo quando o conjunto de trabalho cabe na memória disponível.
  • Então, para responder à sua segunda pergunta:nunca.

É importante não cair em "buffer oversizing" também para as várias variáveis ​​myisam, como read_buffer_size, read_rnd_buffer_size, sort_buffer_size, join_buffer_size, etc. veja esta postagem no mysqlperformanceblog para um caso muito interessante.

Se você estiver no 5.1 em uma plataforma posix, você pode querer comparar myisam_use_mmap em sua carga de trabalho, ele deve ajudar em casos de alta contenção, reduzindo a quantidade de chamadas malloc().