Méthodes pour optimiser la base de données Mysql : 1. Créer un index ; 2. Index composite ; 3. Ne pas inclure de colonnes avec des valeurs NULL dans l'index ; tri de plusieurs colonnes ; 6. Évitez d'utiliser des opérations similaires ; 7. N'effectuez pas d'opérations sur les colonnes, etc.
Cet article optimise la base de données Mysql à travers 8 méthodes : création d'index, index composés, index qui ne contiennent pas de colonnes avec des valeurs NULL, utilisation d'index courts et triés index Les questions, comme les opérations sur les instructions, n'effectuent pas d'opérations sur les colonnes, n'utilisent pas les opérations NOT IN et <> et expliquent pourquoi vous faites cela pour fournir des documents de référence.
Cours recommandé : Tutoriel MySQL.
1. Créer un index
Pour les applications où les requêtes dominent, les index sont particulièrement importants. Souvent, les problèmes de performances sont simplement dus au fait que nous oublions d’ajouter un index ou que nous n’ajoutons pas un index plus efficace. S'il n'y a pas d'index, une analyse complète de la table sera effectuée pour trouver même une donnée spécifique. Si la quantité de données dans une table est importante et qu'il y a peu de résultats qualifiés, ne pas ajouter d'index entraînera une dégradation fatale des performances. . Mais il n'est pas nécessaire de créer un index dans toutes les situations. Par exemple, le sexe peut n'avoir que deux valeurs. Non seulement la construction d'un index n'a aucun avantage, mais elle affecte également la vitesse de mise à jour.
2. Indice composite
Par exemple, il y a une déclaration comme celle-ci : sélectionnez * parmi les utilisateurs où zone='beijing' et âge=22;
Si nous créons un seul index sur la zone et l'âge respectivement, puisque la requête MySQL ne peut utiliser qu'un seul index à la fois, bien que cela ait amélioré l'efficacité de l'analyse complète de la table par rapport à l'absence d'index, mais si nous créons un seul index sur zone et âge, la création d'un index composite sur la colonne apportera une plus grande efficacité. Si nous créons un indice composite de (zone, âge, salaire), cela équivaut en fait à créer trois indices (zone, âge, salaire), (zone, âge) et (zone). C'est ce qu'on appelle la meilleure caractéristique de préfixe gauche. . Par conséquent, lorsque nous créons un index composite, nous devons placer les colonnes les plus couramment utilisées comme contraintes à gauche, par ordre décroissant.
3. L'index ne doit pas contenir de colonnes avec des valeurs NULL
Tant que la colonne contient des valeurs NULL, elle ne sera pas incluse dans l'index. tant qu'il y a une valeur NULL dans la colonne d'index composite contient une valeur NULL, cette colonne n'est pas valide pour cet index composite. Par conséquent, lors de la conception de la base de données, nous ne devons pas laisser la valeur par défaut du champ être NULL.
4. Utilisez l'index court
pour indexer la chaîne. Si possible, vous devez spécifier une longueur de préfixe. Par exemple, si vous avez une colonne CHAR(255), n'indexez pas la colonne entière si la plupart des valeurs sont uniques dans les 10 ou 20 premiers caractères. Les index courts améliorent non seulement la vitesse des requêtes, mais permettent également d'économiser de l'espace disque et des opérations d'E/S.
5. Problème d'index de tri
La requête MySQL n'utilise qu'un seul index, donc si un index a été utilisé dans la clause Where, alors les colonnes classées par sont des index. ne sera pas utilisé. Par conséquent, n'utilisez pas d'opérations de tri lorsque le tri par défaut de la base de données peut répondre aux exigences ; essayez de ne pas inclure le tri de plusieurs colonnes. Si nécessaire, il est préférable de créer des index composites pour ces colonnes.
6. Opération d'instruction similaire
Généralement, l'utilisation de l'opération similaire n'est pas encouragée. Si elle doit être utilisée, comment l'utiliser est également un problème. Comme « %aaa% » n'utilisera pas l'index mais comme « aaa% » utilisera l'index.
7. N'effectuez pas d'opérations sur les colonnes
sélectionnez * parmi les utilisateurs où YEAR(adddate)<2007;
sera dans chaque ligne. Cela entraînera l'échec de l'index et effectuera une analyse complète de la table, nous pouvons donc le modifier pour
sélectionner * parmi les utilisateurs où adddate<'2007-01-01';
8. N'utilisez pas les opérations NOT IN et <>
Aucune des opérations NOT IN et <> n'utilisera des index et n'effectuera une analyse complète de la table. NOT IN peut être remplacé par NOT EXISTS, et id<>3 peut être remplacé par id>3 ou id<3.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!