Einzelnen Beitrag anzeigen

Dumpfbacke

Registriert seit: 10. Mär 2005
Ort: Mitten in Deutschland
332 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#11

AW: SQL optimimieren notwendig Max()

  Alt 17. Jan 2022, 13:02
Danke für den Hinweis Holger.

Ich verstehe das ich es in Zukunft genauer beschrieben muss. Das mit dem Kopieren ist auch einfacher. Bei mir heißen die Felder hier noch Feld1 usw., da es nur der erste Test ist und ich die Daten mal so erhalten haben. Nicht schön aber selten.

Also das mit dem Feld 3 war ein Kopierfehler das habe ich zum testen mal geändert und dann genau kopiert für hier. Es muss beides mal mal <> sein. Ich habe es im ersten Post noch schnell geändert.

Nun zum Thema Index. Es liegt auf jedem Feld ein einzel Index also auf Feld1, Feld2 und Feld3. Wobei auf Feld1 auch noch ein DESCENDING Index liegt wegen dem Max. Auch der Kompi Index ist so angelegt, wie du geschrieben hast. Das habe ich anscheined unwissend schon richtig gemacht. man bin ich gut da mach ich mal was richtig und weiß es noch nicht einmal

Es wird hier der Kombi Index benutzt sowohl bei Deinen Select mit First als auch bei meinen mit max. Beides ist identisch und dauert 6 Sekunden.

Was mich hier halt so wundert ist das wenn ich mir die Daten komplett anzeigen lasse also alle 3 Zeilen das es ruck zuck da ist. Nur bei dem Max oder First dauert es so lange.

Was mir noch aufgefallen ist das wenn ist nicht den größten Wert sonden den kleinsten Wert haben möchte, so geht das auch Ruck Zuck, Also bei meinem an Stelle von max uf min änder oder bei Deinem des DESC weglasse.


Der Index wurde angelagt mit. CREATE DESCENDING INDEX TABELLE_ABSTEIGEND ON TABELLE1 (FELD2, FELD3, FELD1);


Feld 1 ist ein Datumsfeld und Feld2 und Feld 3 ein Varchar.

Falles es hier hilft mal die Daten


bei Max Wert

------ Performance info ------
Prepare time = 15ms
Execute time = 6s 579ms
Avg fetch time = 6.579,00 ms
Current memory = 90.467.880
Max memory = 228.991.144
Memory buffers = 1.024
Reads from disk to cache = 90.198
Writes from cache to disk = 0
Fetches from cache = 90.276


Bei min wert oder bein anzeigen der drei Zeilen

------ Performance info ------
Prepare time = 0ms
Execute time = 515ms
Avg fetch time = 515,00 ms
Current memory = 90.467.424
Max memory = 228.991.144
Memory buffers = 1.024
Reads from disk to cache = 6.878
Writes from cache to disk = 0
Fetches from cache = 6.883

Wenn Du noch was benötigst sag einfach bescheid den ch verstehe das ganze eh nicht mehr.

Dane
Tanja

Geändert von Dumpfbacke (17. Jan 2022 um 13:08 Uhr)
  Mit Zitat antworten Zitat