Maison > base de données > tutoriel mysql > Plusieurs solutions d'optimisation de base de données MySQL

Plusieurs solutions d'optimisation de base de données MySQL

巴扎黑
Libérer: 2017-07-19 17:21:06
original
1284 Les gens l'ont consulté

Je recherche un emploi récemment. De nombreuses entreprises poseront des questions sur l'optimisation des bases de données lors des entretiens. Aujourd'hui, je vais résumer les problèmes d'optimisation des bases de données et utiliser la base de données MySQL comme exemple pour expliquer.

Pourquoi devrions-nous optimiser :
Avec le démarrage du projet proprement dit, la base de données s'exécutera pendant un certain temps, les paramètres initiaux de la base de données présenteront certaines différences par rapport aux performances réelles de la base de données. À ce stade, nous devons procéder à un ajustement d'optimisation.

L'optimisation des bases de données est un sujet vaste et peut être divisé en quatre grandes catégories :
》Performances de l'hôte
》Performances d'utilisation de la mémoire
》Performances de transmission réseau
》Performances d'exécution des instructions SQL [Ingénieur logiciel]


Voici quelques solutions d'optimisation SQL de base de données :

(01) Choisissez l'ordre le plus efficace des noms de tables (test écrit fréquent)

L'analyseur de base de données est basé on Les noms de table dans la clause FROM sont traités de droite à gauche,
La table écrite en dernier dans la clause FROM sera traitée en premier,
dans la clause FROM Lorsque la phrase contient plusieurs tables, vous devez sélectionner la table avec le plus petit nombre d'enregistrements et la mettre à la fin
S'il y a plus de 3 tables connectées à la requête, vous. vous devez sélectionner la table utilisée par d'autres tables. La table référencée vient en dernier.
Par exemple : recherchez le numéro d'employé, le nom, le salaire, l'échelon de salaire, le nom du département
sélectionnez emp.empno,emp.ename,emp.sal,salgrade.grade ,dept.dname
de salgrade,dept,emp
où (emp.deptno = dept.deptno) et (emp.sal entre salgrade.losal et salgrade. hisal)
1) Si les trois tables n'ont aucun rapport, écrivez la table avec le moins d'enregistrements et de noms de colonnes à la fin, et ainsi de suite
2) Si les trois tables sont liées, mettre la table avec le plus de références à la fin, et ainsi de suite

(02) L'ordre de connexion dans la clause WHERE (test écrit Test commun )

La base de données analyse la clause WHERE dans un ordre de droite à gauche. Selon ce principe, la connexion entre les tables doit être écrite à gauche des autres conditions WHERE. ,
Les conditions qui peuvent filtrer le nombre maximum d'enregistrements doivent être écrites à droite de la clause WHERE.
Par exemple : recherchez le numéro d'employé, le nom, le salaire, le nom du département
sélectionnez emp.empno,emp.ename,emp.sal,dept.dname
de emp,dept
où (emp.deptno = dept.deptno) et (emp.sal > 1500)

(03) Évitez d'utiliser le signe * dans la clause SELECT

Pendant le processus d'analyse, la base de données convertira tour à tour * en tous les noms de colonnes. Ce travail est effectué en interrogeant le dictionnaire de données, ce qui signifie que cela prendra plus de temps
Sélectionnez. empno,ename from emp;

(04) Supprimez tous les enregistrements de la table, remplacez DELETE par TRUNCATE

(05) Utilisez COMMIT autant que possible

car COMMIT libérera le point de restauration

( 06) Remplacez la clause HAVING par la clause WHERE

WHERE est exécutée en premier, HAVING est exécutée après

( 07 ) Utiliser des fonctions internes pour améliorer l'efficacité SQL

(08) Utiliser des alias de table

salgrade s

(09) Utiliser les alias de colonnes

ename e

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal