Firebird kann keinen DESCENDING Index für ein GROUP BY verwenden:
http://tracker.firebirdsql.org/browse/CORE-4529
In einem lokalen Test hier mit 800.000 Datensätzen und unterschiedlichen Index-Kombinationen war der Full-Table Scan für deine Abfrage immer schneller, d.h. solange ein Index nicht für die Einschränkung der Ergebnismenge verwendet werden kann (fehlende WHERE Klausel), bremst er dich potentiell sogar aus, da das ein zusätzlicher "Hop" darstellt, bis er zum Datensatz (über den Indexeintrag) kommt.
D.h. ich würde eher in Richtung Firebird-Tuning/Konfiguration gehen und ihm mehr
RAM geben. Z.B.:
- Größer PageCache
- Bzw. auch (wird sehr gerne auch vergessen!) dem Bereich für temporäre Sachen mehr RAM spendieren. Siehe TempCacheLimit in firebird.conf
Welche Firebird-Architektur verwendest du bzw. wie oft wird dieses Statement eigentlich ausgeführt?
LG