Dobre indeksy to te o wysokiej selektywności. Twoje warunki to w większości warunki zakresu, co stanowi ograniczenie pól, które mogą być używane w indeksie złożonym.
Możliwe indeksy do zbadania (składające się z tych pól, które mają sprawdzenie równości z dodaniem na końcu jednego pola ze sprawdzeniem zakresu):
(act, Type, tn, flA)
(act, Type, tn, cDate)
(act, Type, tn, nb)
Aby sprawdzić selektywność bez tworzenia indeksów, możesz użyć:
SELECT COUNT(*)
FROM PIG P
WHERE act='1'
AND Type = 'g'
AND tn = 'l'
AND flA >= '1615'
i
SELECT COUNT(*)
FROM PIG P
WHERE act='1'
AND Type = 'g'
AND tn = 'l'
AND cDate >= NOW()
i
SELECT COUNT(*)
FROM PIG P
WHERE act='1'
AND Type = 'g'
AND tn = 'l'
AND nb <= '5'
i porównaj wynik z 742873
masz z indeksu przestrzennego.