Maison > base de données > tutoriel mysql > JOIN ou WHERE : lequel est le plus rapide pour les requêtes de base de données avec des relations de clé étrangère ?

JOIN ou WHERE : lequel est le plus rapide pour les requêtes de base de données avec des relations de clé étrangère ?

Barbara Streisand
Libérer: 2024-12-31 13:36:11
original
990 Les gens l'ont consulté

JOIN vs. WHERE: Which is Faster for Database Queries with Foreign Key Relationships?

JOIN vs. WHERE : lequel est le plus rapide pour les requêtes de base de données ?

Dans le monde des requêtes de bases de données, la vitesse est cruciale. Lorsque vous avez deux tables liées par une clé étrangère, comme Document et DocumentStats, vous pouvez vous demander si l'utilisation d'une clause JOIN ou WHERE est plus rapide pour récupérer des données.

Question :

Considérez la requête suivante :

SELECT *
FROM Document, DocumentStats
WHERE DocumentStats.Id = Document.Id
  AND DocumentStats.NbViews > 500
Copier après la connexion

Une requête alternative utilisant un INNER JOIN est :

SELECT *
FROM Document
INNER JOIN DocumentStats ON Document.Id = DocumentStats.Id
WHERE DocumentStats.NbViews > 500
Copier après la connexion

Quelle requête s'exécute plus rapidement, ou sont-elles équivalentes ?

Réponse :

Théoriquement, les deux requêtes devraient s'exécuter aussi rapidement que l'optimiseur de requêtes optimise le plan d'exécution. Cependant, en pratique, le moteur de base de données peut produire de meilleurs plans d'exécution pour l'une des requêtes, notamment pour les opérations plus complexes.

En bref, il est préférable de tester les deux requêtes sur votre moteur de base de données pour déterminer laquelle est la plus performante. . Cependant, vous pouvez généralement vous attendre à ce qu'ils aient des vitesses comparables pour des requêtes simples.

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal