Indeks nie może być użyty na takim OR. spróbuj tego:
SELECT * FROM table WHERE Due_Amount > 0
UNION ALL
SELECT * FROM table Bounced_Due_Amount > 0
--use "UNION" if Due_Amount and Bounced_Due_Amount could both >0 at any one time
mają indeks Due_Amount, a drugi Bounced_Due_Amount.
Może lepiej przeprojektować swój stół. Nie znając logiki biznesowej ani tabeli, zgaduję, że możesz mieć kolumnę „Odrzucona” T/N lub 1/0 char/bit i tylko kolumnę „Due_Amount”. Dodaj indeks dla tej „należnej kwoty”, a zapytanie będzie wyglądać tak:
SELECT * FROM table WHERE Due_Amount > 0
nadal możesz odróżnić wiersz Odbity lub nie. To nie zadziała, jeśli musisz mieć jednocześnie odbitą i nieodrzuconą należną kwotę.