Thema: Delphi Index setzen?

Einzelnen Beitrag anzeigen

Gruber_Hans_12345

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

AW: Index setzen?

  Alt 29. Nov 2016, 06:46
Firebird kann keinen DESCENDING Index für ein GROUP BY verwenden:
http://tracker.firebirdsql.org/browse/CORE-4529
Es fehlt ein "ORDER BY x DESC", um den Index zu verwenden.
Ohhh tatsächlich
mit dem ORDER BY dauert es nun statt 4,0 sekunden 1,2 sekunden !!!!!

Wobei das ganze nun für mich irgendwie noch schräger wird!

Also ohne dem ORDER BY bekomme ich als Plan nun "PLAN (BUCHUNGEN_DATUM ORDER BUCHUNGEN_USERID)" verwendet den Index.
mit ORDER BY USERID DESC : "PLAN SORT ((BUCHUNGEN_DATUM NATURAL))" - da ich ja keinen DESC Index für USERID habe aber das ganze ist trotzdem 3 mal schneller!
mit ORDER BY USERID ASC : "PLAN (BUCHUNGEN_DATUM ORDER BUCHUNGEN_USERID)" hier verwendet er den Index für UserID und ist langsam!

Also sieht es so aus als ob es genau umgekehrt ist, sobald ich ihn zwinge keinen Index zu verwenden dann wirds schneller!

[edit] für den gegentest habe ich den Index auf USERID nun mal gelöscht, nun sind alle gleich schnell bei 1,3 Sekunden sowas....
Gruss Hans

2B or not 2B, that is FF

Geändert von Gruber_Hans_12345 (29. Nov 2016 um 06:48 Uhr)
  Mit Zitat antworten Zitat