Comment MySQL optimise IS NULL
<<<
Comment MySQL optimise DISTINCT Comment MySQL optimise les clauses LEFT JOIN et RIGHT JOIN
>>>

7.2 Optimisation des commandes SELECT et autres requêtes
7 Optimisation de MySQL
 Manuel de Référence MySQL 4.1 : Version Française

Syntaxe de EXPLAIN (Obtenir des informations sur les SELECT )
Mesurer les performances d'une requête
Vitesse des requêtes SELECT
Comment MySQL optimise les clauses WHERE
Comment MySQL optimise la condition OR
Comment MySQL optimise IS NULL
->Comment MySQL optimise DISTINCT
Comment MySQL optimise les clauses LEFT JOIN et RIGHT JOIN
Comment MySQL optimise ORDER BY
Comment MySQL optimise LIMIT
Comment éviter les scans de tables,,,
Vitesse des requêtes INSERT
Vitesses des commandes UPDATE
Rapidité des requêtes DELETE
Autres conseils d'optimisation

7.2.7 Comment MySQL optimise DISTINCT

DISTINCT combiné avec un ORDER BY aura dans la plupart des cas recours à une table temporaire.

Notez que comme DISTINCT peut utiliser GROUP BY , apprenez comment MySQL fonctionne avec les champs de ORDER BY et HAVING qui ne sont pas dans la liste des colonnes sélectionnées. GROUP BY avec les champs cachés .

Quand vous combinerez LIMIT # avec DISTINCT , MySQL stoppera dès qu'il trouvera # lignes uniques.

Si vous n'utilisez pas de colonnes de toutes les tables utilisées, MySQL arrête de scanner la table non-utilisée dès qu'il trouve la première correspondance.


SELECT DISTINCT t1.a FROM t1,t2 where t1.a=t2.a;
Dans ce cas, en supposant que t1 est utilisée avant t2 (vérifiez avec EXPLAIN ), MySQL arrêtera de lire à partir de t2 (pour cette ligne particulière de t1 ) lorsque la première ligne de t2 est trouvée.

<< Comment MySQL optimise DISTINCT >>
Comment MySQL optimise IS NULL Optimisation des commandes SELECT et autres requêtes Comment MySQL optimise les clauses LEFT JOIN et RIGHT JOIN