Maison > base de données > tutoriel mysql > le corps du texte

Analyse comparative de l'association multi-tables MySQL sur et où accélère le code source

WBOY
Libérer: 2023-06-02 13:49:06
avant
1289 Les gens l'ont consulté

Parlons d'abord de la conclusion

Les vitesses de jointure des requêtes Where et peer-to-peer sont fondamentalement les mêmes, et la vitesse de jointure des requêtes non équivalentes est généralement plus lente.

Expérience 1 : Il n'y a pas d'enregistrements inégaux

Nous avons deux tables, à savoir member et member_class. La structure des données est la suivante, où member.class_id et member_class.id. sont des champs associés

Analyse comparative de lassociation multi-tables MySQL sur et où accélère le code source

Analyse comparative de lassociation multi-tables MySQL sur et où accélère le code source

Nous avons écrit 200 000 éléments de données dans les deux tables respectivement, dont les membres .class_id doit exister dans member_class.id (il n'y a pas d'enregistrement inégal)

Vérifiez le tableau complet

Analyse comparative de lassociation multi-tables MySQL sur et où accélère le code source

Pour expérimenter À pour être plus précis, nous interrogeons chaque résultat 20 fois :

où le temps de requête est (secondes) :

#🎜🎜 #0.253, 0,256, 0,256, 0,252, 0,257, 0,252, 0,260, 0,265, 0,253, 0,252, 0,254, 0,257, 0,254, 0,257, 0,243, 0,250, 0,252, 0,2 52, 255, 0,284

#🎜 La requête les temps de 🎜#
on sont (secondes) :

0.247, 0.260, 0.250, 0.246, 0.271, 0.247, 0.251, 0.247, 0. 243, 0,247, 0,247, 0,245, 0,249, 0,246, 0,247, 0,253, 0,248, 0,254, 0,251, 0,247, 0,250

où la moyenne des requêtes est de 0,255 7 s, sur la requête en moyenne 0,2498 s ; deux sont fondamentalement cohérents et la différence est presque négligeable.

Expérience 2 : Des enregistrements inégaux existent

Nous créons une nouvelle table member_v2, dans laquelle seulement 20% du class_id existe dans member_class.id

comme suit Photo :

Analyse comparative de lassociation multi-tables MySQL sur et où accélère le code source Nous continuons à interroger le test de la table complète :

# 🎜🎜#Oui Un écart très évident peut être constaté. En raison du grand nombre d'enregistrements inégaux dans LEFT JOIN, un grand nombre de valeurs NULL apparaissent. À ce stade, l'efficacité des requêtes de la table intermédiaire devient inférieure. La requête WHERE peut filtrer automatiquement les enregistrements inégaux pendant la requête. Analyse comparative de lassociation multi-tables MySQL sur et où accélère le code source

Le temps de requête est donc également plus rapide.

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:yisu.com
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