sql >> Databasteknik >  >> RDS >> Mysql

MySQL-förbättrande prestanda utan cache

Bra index är de med hög selektivitet. Dina villkor är för det mesta räckviddsförhållanden och detta innebär en begränsning för fälten som kan användas i ett sammansatt index.

Möjliga index att undersöka (sammansatt från de fält som har en likhetskontroll med tillägg i slutet, av ett fält med en intervallkontroll):

(act, Type, tn, flA)

(act, Type, tn, cDate)

(act, Type, tn, nb)

För att kontrollera selektivitet utan att skapa index kan du använda:

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

och

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

och

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

och jämför utdata med 742873 du har från det rumsliga indexet.




  1. Få antalet dagar i en månad i PostgreSQL

  2. Trimma transaktionsloggen fett

  3. Redundanta data i uppdateringsutlåtanden

  4. Olika representation av UUID i Java Hibernate och SQL Server