Mysql
 sql >> Base de données >  >> RDS >> Mysql

Top 10 des bonnes pratiques MySQL

MySQL est le deuxième système de gestion de bases de données relationnelles open source le plus utilisé au monde. Il est devenu si populaire en raison de ses performances rapides et constantes, de sa grande fiabilité et de sa facilité d'utilisation. Cet article présente certaines des meilleures pratiques de MySQL.

Meilleures pratiques dans MySQL

1. Utilisez toujours le bon type de données

Utilisez des types de données en fonction de la nature des données. Si vous utilisez des types de données non pertinents, cela peut consommer plus d'espace ou entraîner des erreurs.
Exemple :l'utilisation de varchar (20) pour stocker des valeurs de date et d'heure au lieu du type de données DATETIME entraînera des erreurs lors des calculs liés à la date et à l'heure. un cas possible de stockage de données invalides.

2. Utilisez CHAR (1) sur VARCHAR(1)

Si vous enchaînez un seul caractère, utilisez CHAR(1) au lieu de VARCHAR(1) car VARCHAR(1) prendra un octet supplémentaire pour stocker les informations

3. Utilisez le type de données CHAR pour stocker uniquement des données de longueur fixe

Exemple :L'utilisation de char(1000) au lieu de varchar(1000) consommera plus d'espace si la longueur des données est inférieure à 1000

4. Évitez d'utiliser des formats de date régionaux

Lorsque vous utilisez le type de données DATETIME ou DATE, utilisez toujours le format de date AAAA-MM-JJ ou le format de date ISO qui convient à votre moteur SQL. Les autres formats régionaux tels que JJ-MM-AAAA, MM-JJ-AAAA ne seront pas stockés correctement.

5. Indexer les colonnes clés

Assurez-vous d'indexer les colonnes utilisées dans les clauses JOIN afin que la requête renvoie rapidement le résultat.
Si vous utilisez l'instruction UPDATE qui implique plusieurs tables, assurez-vous que toutes les colonnes utilisées pour joindre les tables sont indexé

6. N'utilisez pas de fonctions sur des colonnes indexées

L'utilisation de fonctions sur des colonnes indexées va à l'encontre de l'objectif de l'index. Supposons que vous vouliez obtenir des données où les deux premiers caractères du code client sont AK, n'écrivez pas
SELECT colonnes FROM table WHERE left (customer_code,2)='AK'
mais réécrivez-les en utilisant
SELECT colonnes FROM table WHERE code_client comme 'AK%'
qui utilisera l'index qui se traduit par un temps de réponse plus rapide.

7. Utilisez SELECT * uniquement si nécessaire

Ne vous contentez pas d'utiliser aveuglément SELECT * dans le code. S'il y a de nombreuses colonnes dans la table, toutes seront renvoyées, ce qui ralentira le temps de réponse, en particulier si vous envoyez le résultat à une application frontale.
Tapez explicitement les noms de colonne qui sont réellement nécessaires.

8. Utilisez la clause ORDER BY uniquement si nécessaire

Si vous souhaitez afficher le résultat dans une application frontale, laissez-le ORDER le jeu de résultats. Faire cela dans SQL peut ralentir le temps de réponse dans l'environnement multi-utilisateurs.

9. Choisissez le bon moteur de base de données

Si vous développez une application qui lit les données plus souvent qu'elles n'en écrivent (ex :moteur de recherche), choisissez le moteur de stockage MyISAM.
Si vous développez une application qui écrit plus souvent les données qu'elles ne les lisent (ex :transactions bancaires en temps réel), choisissez le moteur de stockage INNODB.
Le choix d'un mauvais moteur de stockage affectera les performances

10. Utilisez la clause EXISTS chaque fois que nécessaire

Si vous souhaitez vérifier l'existence de données, n'utilisez pas
If (SELECT count(*) from Table WHERE col='some value')>0
à la place, utilisez la clause EXISTS
If EXISTS(SELECT * from Table WHERE col='some value')
qui est plus rapide en temps de réponse.