Ich würde vorschlagen, die Abfrage wie folgt zu schreiben:
select sum(i.amount) as total
from incomes i
where i.date >= '2019-07-01' and
i.date < '2019-08-01' and
i.deleted_at is null;
Diese Abfrage kann einen Index für incomes(deleted_at, date, amount)
nutzen :
create index idx_incomes_deleted_at_date_amount on incomes(deleted_at, date, amount)