Bancos de dados MySQL/MariaDB são frequentemente gargalos de performance. Otimização adequada melhora drasticamente velocidade de aplicações. Este guia mostra como otimizar.
Configuração Básica
Edite /etc/mysql/my.cnf ou /etc/my.cnf. Configure: innodb_buffer_pool_size (70-80% da RAM), max_connections, query_cache_size (se MySQL 5.7 ou anterior).
Índices
Índices aceleram queries drasticamente. Crie índices em colunas usadas em WHERE, JOIN e ORDER BY. Use EXPLAIN para identificar queries lentas.
Otimização de Queries
Evite SELECT *. Use apenas colunas necessárias. Use LIMIT quando possível. Evite subqueries quando JOIN funciona. Use índices adequados.
InnoDB Settings
Para InnoDB: configure innodb_buffer_pool_size grande, innodb_log_file_size adequado, innodb_flush_log_at_trx_commit conforme necessidade de performance vs segurança.
Monitoramento
Use SHOW PROCESSLIST para ver queries ativas. Use slow query log para identificar queries lentas. Monitore uso de recursos regularmente.
Manutenção
Execute OPTIMIZE TABLE periodicamente. Analise tabelas: ANALYZE TABLE. Verifique integridade: CHECK TABLE. Mantenha estatísticas atualizadas.
Replicação
Para alta disponibilidade e performance, configure replicação master-slave. Leia queries podem ir para slave, reduzindo carga no master.
Conclusão
Otimização de banco de dados melhora performance significativamente. Configure adequadamente e monitore regularmente para manter performance no servidor dedicado.