Como você costuma aquecer seu banco de dados?
Eu executo consultas semelhantes a esta para cada tabela no banco de dados:
SELECT * FROM ip_log ORDER BY ID;
SELECT ip, member_id FROM ip_log ORDER BY ip, member_id;
Essa é a melhor maneira, ou há algo mais legal?
Se você gostaria de aquecer seu MyISAM Key Buffer, você pode executar isto:
Aqui está a saída:
Isso exibe todas as consultas possíveis que você pode executar nas tabelas MyISAM, selecionando apenas os campos da coluna de índice. A execução dessas consultas preencherá o MyISAM Key Buffer.
Aqui está uma consulta semelhante para fazer consultas que pré-carregam o InnoDB Buffer Pool
Aqui está uma consulta semelhante para fazer consultas que pré-carregam o InnoDB Buffer Pool e o MyISAM Key Buffer ( postei isso em novembro de 2011 )
Se você vir a mesma consulta aparecer mais de uma vez em uma exibição, isso indica a presença de índices redundantes .
De uma chance !!!
ATUALIZAÇÃO 2012-02-04 21:53 EDT
Embora seja possível criar caches dedicados ao MyISAM da seguinte maneira:
você ainda deve decidir carregar todos os índices ou alguns específicos. O script que forneci simplesmente mostra a lista de todos os índices possíveis que você pode carregar. Você não é obrigado a carregar todos os índices, apenas aqueles que você sabe que são mais usados. Se você tiver o hardware e o orçamento, pode carregar o quanto quiser nos caches MyISAM dedicados.
Aqui está outra coisa a considerar: Todas as consultas mencionadas estão, na verdade, acessando índices de cobertura . A execução dessas consultas acessará apenas as páginas MyISAM do arquivo .MYI e apenas as páginas de índice de tabelas InnoDB. Os dados da tabela nunca são recuperados. Diante disso, todas as consultas ou as consultas selecionadas preencheram as páginas de índice, independentemente do mecanismo de armazenamento.
Mais links sobre os princípios de índices de cobertura
ATUALIZAÇÃO 2012-02-04 22:05 EDT
Nota rápida sobre InnoDB vs MyISAM. Você pode armazenar em cache páginas de dados para InnoDB. MyISAM não .
Se você estiver executando uma versão suficientemente recente do servidor do percona, poderá usar a opção de configuração innodb_auto_lru_dump . Isso é relevante apenas para tabelas/dbs innodb.
Ele basicamente manterá um arquivo de mapa de páginas a serem recarregadas no buffer pool na inicialização antes de começar a aceitar conexões.
Em um servidor dedicado com 144 GB de buffer pool, ele manteve um arquivo de mapa de 71 milhões de páginas para recarregar. Acrescentou 5 minutos ao tempo de inicialização (mas está no fusionio). Tive tempos de inicialização semelhantes em caixas remotas que têm apenas alguns shows de buffer pool, mas discos ruins.