Les différences entre exist et in dans mysql sont : 1. in est une connexion de hachage entre la table externe et la table interne, et la table interne est interrogée en premier 2. exist est une boucle sur la table externe ; , puis la table interne est interrogée ; 3. Lorsque la surface externe est grande, il est plus rapide à utiliser, et lorsque la table interne est grande, il est plus rapide à utiliser.
La différence entre existe et in dans MySQL est :
#对B查询涉及id,使用索引,故B表效率高,可用大表 -->外小内大 select * from A where exists (select * from B where A.id=B.id);
(1) existe est de boucler l'apparence , chaque fois que la boucle boucle, la table interne (sous-requête) est interrogée, donc parce que la requête de la table interne utilise un index (la table interne est très efficace, donc une grande table peut être utilisée), et la table externe doit être parcouru quelle que soit sa taille, c'est inévitable (autant que possible Utiliser une petite table), donc si la table interne est grande, utiliser existe pour accélérer l'efficacité
(2) in c'est ; hachez la table externe et la table interne, interrogez d'abord la table interne, puis faites correspondre les résultats de la table interne avec la table externe, utilisez des index pour la table externe (la table externe est efficace et peut être utilisée comme une grande table), et il est inévitable d'interroger la table interne, quelle que soit sa taille. Par conséquent, l'utilisation de in pour une grande table externe peut accélérer l'efficacité.
(3) Si les deux tables interrogées sont de taille similaire, il n'y a pas beaucoup de différence entre utiliser in et exist. Si l'une des deux tables est plus petite et l'autre est une grande table, il existe une utilisation pour la table de sous-requête la plus grande et pour la table de sous-requête la plus petite.
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!