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 ?