Einzelnen Beitrag anzeigen

Dumpfbacke

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

AW: Index wird teilweise nicht benutzt

  Alt 10. Aug 2016, 14:44
Nur warum wird denn den Index des Feldes 5 benutzt ?
Die Optimizer der DB Systeme haben da so ihre Geheimnisse
Wie sieht des der Execution Plan für dieses Statement aus?

Plan
PLAN SORT (JOIN (Tabelle1 INDEX (IDX_FELD1), Tabelle2 INDEX (IDX_FELD9, IDX_FELD9)))

------ Performance info ------
Prepare time = 639ms
Execute time = 1m 13s 539ms
Avg fetch time = 4.085,50 ms
Current memory = 14.478.580
Max memory = 14.634.260
Memory buffers = 800
Reads from disk to cache = 52.880
Writes from cache to disk = 0


Wenn ich die erste Bedingung entferne

Plan
PLAN SORT (JOIN (Tabelle1 INDEX (IDX_Feld4, IDX_Feld4, IDX_Feld4, IDX_Feld4, IDX_Feld4, IDX_Feld5), Tabelle2 INDEX (IDX_Feld9, IDX_Feld9)))

------ Performance info ------
Prepare time = 655ms
Execute time = 3s 291ms
Avg fetch time = 253,15 ms
Current memory = 17.677.420
Max memory = 17.696.404
Memory buffers = 800
Reads from disk to cache = 30.649
Writes from cache to disk = 0

Hier benutze er jeodch auch nicht den Index des Feld2 und Feld 3 was jedoch nicht so tragisch ist da es trotzdem schnell geht.

Warum benutzt er immer nur einen Teil ?
Tanja
  Mit Zitat antworten Zitat