Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL améliore les performances sans cache

Les bons indices sont ceux qui ont une sélectivité élevée. Vos conditions sont principalement des conditions de plage, ce qui limite les champs pouvant être utilisés dans un index composite.

Index possibles à étudier (composés de ces champs qui ont un contrôle d'égalité avec l'ajout à la fin, d'un champ avec un contrôle de plage) :

(act, Type, tn, flA)

(act, Type, tn, cDate)

(act, Type, tn, nb)

Pour vérifier la sélectivité sans créer d'index, vous pouvez utiliser :

SELECT COUNT(*)
FROM PIG P 
WHERE act='1' 
  AND Type = 'g' 
  AND tn = 'l' 
  AND flA >= '1615'

et

SELECT COUNT(*)
FROM PIG P 
WHERE act='1' 
  AND Type = 'g' 
  AND tn = 'l' 
  AND cDate >= NOW() 

et

SELECT COUNT(*)
FROM PIG P 
WHERE act='1' 
  AND Type = 'g' 
  AND tn = 'l' 
  AND nb <= '5' 

et comparez la sortie avec le 742873 vous avez de l'index spatial.