Thema: Delphi Index setzen?

Einzelnen Beitrag anzeigen

Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#14

AW: Index setzen?

  Alt 25. Nov 2016, 09:10
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
Ah okey danke

Das Problem ist, es wird teils relativ oft ausgeführt also jede Minute sowas ...
Ich werde es in diesem Fall dann zu dem jeweiligen User die letzte ID speichern, dann gehts natürlich extrem schnell.

Im Moment verwenden wir noch den 2.5 Firebird einmal als Classic und als SuperServer, aber es tut sich natürlich nicht so viel.
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat