O MySQL é o segundo sistema de gerenciamento de banco de dados relacional de código aberto mais usado no mundo. Tornou-se tão popular devido ao seu desempenho rápido consistente, alta confiabilidade e facilidade de uso. Este artigo apresenta algumas das melhores práticas no MySQL.
Práticas recomendadas no MySQL
1. Sempre use o tipo de dados adequado
Use tipos de dados com base na natureza dos dados. Se você usar tipos de dados irrelevantes, poderá consumir mais espaço ou causar erros.
Exemplo:Usar varchar (20) para armazenar valores de data e hora em vez do tipo de dados DATETIME levará a erros durante cálculos relacionados a data e hora e também há um possível caso de armazenamento de dados inválidos.
2. Use CHAR (1) sobre VARCHAR(1)
Se você encadear um único caractere, use CHAR(1) em vez de VARCHAR(1) porque VARCHAR(1) levará byte extra para armazenar informações
3. Use o tipo de dados CHAR para armazenar apenas dados de comprimento fixo
Exemplo:Usar char(1000) em vez de varchar(1000) consumirá mais espaço se o comprimento dos dados for menor que 1000
4. Evite usar formatos de data regionais
Ao usar o tipo de dados DATETIME ou DATE, sempre use o formato de data YYYY-MM-DD ou o formato de data ISO adequado ao seu mecanismo SQL. Outros formatos regionais como DD-MM-AAAA, MM-DD-AAAA não serão armazenados corretamente.
5. Colunas de chave de índice
Certifique-se de indexar as colunas que são usadas nas cláusulas JOIN para que a consulta retorne o resultado rapidamente.
Se você usar a instrução UPDATE que envolve mais de uma tabela, certifique-se de que todas as colunas usadas para unir as tabelas sejam indexado
6. Não use funções em colunas indexadas
O uso de funções em colunas indexadas anula a finalidade do índice. Suponha que você queira obter dados onde os dois primeiros caracteres do código do cliente são AK, não escreva
SELECT colunas FROM table WHERE left (customer_code,2)='AK'
mas reescreva usando
SELECT colunas FROM table WHERE customer_code como 'AK%'
que fará uso de índice que resulta em tempo de resposta mais rápido.
7. Use SELECT * somente se necessário
Não use cegamente SELECT * no código. Se houver muitas colunas na tabela, todas serão retornadas, o que diminuirá o tempo de resposta, especialmente se você enviar o resultado para um aplicativo front-end.
Digite explicitamente os nomes das colunas que são realmente necessários.
8. Use a cláusula ORDER BY somente se necessário
Se você deseja mostrar o resultado no aplicativo front-end, deixe-o ORDER no conjunto de resultados. Fazer isso no SQL pode diminuir o tempo de resposta no ambiente multiusuário.
9. Escolha o Mecanismo de Banco de Dados adequado
Se você desenvolver um aplicativo que lê dados com mais frequência do que grava (ex:mecanismo de pesquisa), escolha o mecanismo de armazenamento MyISAM.
Se você desenvolve um aplicativo que grava dados com mais frequência do que leitura (ex:transações bancárias em tempo real), escolha o mecanismo de armazenamento INNODB.
Escolher o mecanismo de armazenamento errado afetará o desempenho
10. Use a cláusula EXISTS sempre que necessário
Se você quiser verificar a existência de dados, não use
If (SELECT count(*) from Table WHERE col='some value')>0
em vez disso, use a cláusula EXISTS
If EXISTS(SELECT * from Table WHERE col='some value')
que é mais rápido no tempo de resposta.