Dobré indexy jsou ty s vysokou selektivitou. Vaše podmínky jsou většinou rozsahové podmínky, což omezuje pole, která lze použít ve složeném indexu.
Možné indexy k prozkoumání (složené z těch polí, která mají kontrolu rovnosti s přidáním jednoho pole s kontrolou rozsahu na konci):
(act, Type, tn, flA)
(act, Type, tn, cDate)
(act, Type, tn, nb)
Chcete-li zkontrolovat selektivitu bez vytváření indexů, můžete použít:
SELECT COUNT(*)
FROM PIG P
WHERE act='1'
AND Type = 'g'
AND tn = 'l'
AND flA >= '1615'
a
SELECT COUNT(*)
FROM PIG P
WHERE act='1'
AND Type = 'g'
AND tn = 'l'
AND cDate >= NOW()
a
SELECT COUNT(*)
FROM PIG P
WHERE act='1'
AND Type = 'g'
AND tn = 'l'
AND nb <= '5'
a porovnejte výstup s 742873
máte z prostorového indexu.