J'ai deux tables avec le même nom de colonne. Je veux rechercher dans eux.J'ai fait des recherches et réalisé que l'utilisation UNION ALL
est meilleure que INNER JOIN
(en termes de vitesse et de performance). Maintenant, je veux savoir si le résultat n'est pas trouvé, UNION ALL
est mieux encore?jointure interne VS union tous, lorsque le résultat n'est pas trouvé
Je pense que l'algorithme de JOIN Keyword est: si le résultat n'est pas trouvé dans la première table, l'opération s'arrête (dans la deuxième table, la recherche ne sera pas). Mais UNION ALL
rechercher toutes les tables en tout cas. Je pense que c'est juste? Si ma pensée est bonne alors INNER JOIN
est mieux quand le résultat n'est pas trouvé?
point: col est indexé (phpmyadmin).
Maintenant, laquelle des meilleures performances si le résultat n'est pas trouvé?
SELECT col FROM table1 WHERE col='test'
UNION ALL
SELECT col FROM table2 WHERE col='test';
VS
SELECT col
FROM table1
INNER JOIN table2
ON table1.col=table2.col
WHERE col='test';
S'il vous plaît modifier votre question et ajouter des exemples de données et les résultats souhaités. Que voulez-vous que la requête renvoie lorsque le résultat n'est pas trouvé? –
Votre exemple INNER JOIN ne donnera pas les mêmes résultats, il donnera une INTERSECTION plutôt qu'une UNION. – MatBailie