Индекс не может использоваться на ИЛИ, как это. попробуйте это:
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
имеет индекс для Due_Amount и другой для Bounce_Due_Amount.
Может быть, лучше изменить дизайн вашего стола. Не зная вашей бизнес-логики или таблицы, я собираюсь предположить, что у вас может быть столбец «Bounce» Y / N или 1/0 char / bit и просто столбец «Due_Amount». Добавьте индекс для этого «Due_Amount», и запрос будет просто:
SELECT * FROM table WHERE Due_Amount > 0
вы все еще можете различить отскок или не ряд. Это не сработает, если вам нужно иметь как отсканированную, так и не отсканированную причитающуюся сумму одновременно.