Gostaria de saber se há recomendações de práticas recomendadas para configurar bancos de dados em um ambiente de desenvolvimento em comparação com um ambiente ativo em relação à configuração.
Eles devem ser o mais semelhantes possível (de preferência idênticos)? Ou o ambiente de desenvolvimento deve ser propositadamente subalimentado para forçar os desenvolvedores a escrever consultas ideais?
Isso pode ser tão simples no MySQL quanto definir query_cache_size e valores relacionados para diminuir quando estiver na máquina de desenvolvimento.
Eu diria que não ter em ambientes de desenvolvimento/teste um que corresponda à produção será uma aposta ruim.
Eu trabalhava para uma loja onde não tínhamos um ambiente compatível com a produção, então não podíamos fazer muitos dos testes como deveríamos. Não estou dizendo que cada desenvolvedor/testador deva ter um env idêntico ao de produção, mas pelo menos um ambiente para todos os devs/testers. E para o desenvolvimento normal, qualquer ambiente serve. O desempenho do teste do código deve ser obrigatório, se não para todos os trechos de código, pelo menos para os mais usados (pode usar ferramentas de criação de perfil para descobrir).
Se o custo não for o problema, eu diria que o desenvolvimento deve ter as mesmas especificações da produção. Aqui estão algumas razões: