Maison >base de données >tutoriel mysql >Comment puis-je compter efficacement les combinaisons de valeurs distinctes sur plusieurs colonnes ?
Comptage distinct sur plusieurs colonnes
Le comptage de valeurs distinctes sur plusieurs colonnes peut être réalisé par diverses méthodes. Une approche consiste à utiliser une sous-requête, comme le montre l'exemple fourni :
SELECT COUNT(*) FROM (SELECT DISTINCT DocumentId, DocumentSessionId FROM DocumentOutputItems) AS internalQuery
Cette requête exploite une sous-requête pour obtenir une combinaison unique de DocumentId et DocumentSessionId, puis compte le nombre d'enregistrements distincts dans l'ensemble résultant.
Optimisation des performances
Bien que l'approche par sous-requête puisse suffire pour les petits ensembles de données, des ensembles de données plus volumineux peuvent justifier une solution plus efficace. Une technique d'optimisation consiste à créer une colonne calculée persistante basée sur un hachage ou une concaténation des deux colonnes en question. Cette colonne calculée devient à la fois indexable et analysable statistiquement. En effectuant un comptage distinct sur la colonne calculée, vous pouvez obtenir le même résultat qu'avec la sous-requête, mais avec des performances potentiellement améliorées grâce aux mécanismes d'optimisation disponibles.
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!