1. Cuidar do espaço em disco
- Mantenha o tamanho do banco de dados abaixo de 5 GB sempre que possível. Isso aumenta a probabilidade de os dados serem acessados diretamente da memória RAM, melhorando o desempenho da aplicação e acelerando as rotinas de backup.
 - Remova dados desnecessários periodicamente.
 - Segmente as bases de dados de acordo com o tipo e a frequência de acesso das informações. Por exemplo:
- Manter na base principal apenas os dados mais recentes, como o histórico de pedidos dos últimos 12 meses.
 - Armazenar em uma base adicional os dados menos acessados, como pedidos com mais de um ano.
 
 - Particione dados entre diferentes bases seguindo critérios específicos. Por exemplo:
- Base A: informações de usuários.
 - Base B: informações de pedidos.
Esse método, chamado sharding, utiliza uma lógica de programação para definir em qual base as consultas devem ser executadas. 
InformaBancoDadosPara(ID_Usuario)determina para qual base direcionar a consulta. 
2. Otimizar o desempenho
- Execute manutenções periódicas conforme as recomendações de cada SGBD:
- MySQL/MariaDB → 
OPTIMIZE - PostgreSQL → 
VACUUM - PostgreSQL e SQL Server → 
REINDEX 
 - MySQL/MariaDB → 
 - Crie e mantenha índices nas colunas mais consultadas. Pesquisar em uma coluna sem índice exige mais processamento e aumenta o tempo de resposta.
 - Analise consultas SQL usando o comando 
EXPLAIN. Ele ajuda a identificar colunas que precisam de índices e a detectar gargalos em tabelas grandes. - Utilize query caching para buscar dados diretamente na memória, reduzindo o acesso ao disco.
 - Prefira consultas específicas, como 
SELECT coluna1, coluna2 FROM ..., evitandoSELECT *, que demanda mais processamento. - Restringa o volume de dados retornados com cláusulas 
WHEREeLIMITpara buscar apenas o necessário. 
3. Distribuir a carga em múltiplos bancos
- Ajuste a aplicação para separar operações de leitura e escrita. Isso permite utilizar um modelo de replicação master/slave, onde:
- O servidor master recebe operações de escrita e leitura.
 - Os servidores slaves recebem apenas leituras.
 
 - Uma boa prática é destinar um servidor slave exclusivamente para geração de relatórios, evitando sobrecarga no master.
 
Nota:
A adoção dessas práticas previne sobrecargas, melhora o desempenho e proporciona maior escalabilidade para o banco de dados, garantindo que ele acompanhe o crescimento da aplicação.
Veja também: Preparando bancos de dados para o crescimento
AVISO LEGAL: Os procedimentos descritos neste documento devem ser executados de acordo com o contexto de cada sistema, de forma a evitar impactos negativos à segurança, disponibilidade, integridade e privacidade de dados. A CentralServer se reserva o direito de modificar a qualquer tempo e sem aviso prévio as informações aqui apresentadas a fim de refletir o lançamento de novos serviços, atualizações físicas e operacionais, e evolução do estado-da-arte da tecnologia.
