Einzelnen Beitrag anzeigen

Dumpfbacke

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

Index wird teilweise nicht benutzt

  Alt 10. Aug 2016, 12:17
Datenbank: Firebird • Version: 2.5 • Zugriff über: IBX
Hallo Leute,
ich habe ein Problem das manchmal ein Index nicht benutzt wird. Ich habe den Select einmal vereinfacht. Der Rest wird nicht zu Lösung benötigt und es ist so ggf. einfacher zu lesen

Delphi-Quellcode:
Select Tabelle1.FeldA,Tabelle1.FeldB
From Tabebel1
Left Outer Join Tabelle2 on (gelöscht um es zu vereinfachen )
where Tabebel1.Feld1 is NULL and Tabebel1.Feld2 = 'BAand
      Tabebel1.Feld3 = 'IX2000and (Tabebel1.Feld4 = 'ABor
      Tabebel1.Feld4 = 'AEor Tabebel1.Feld4 = 'or
      Tabebel1.Feld4 = 'AR')
      and Tabebel1.Feld5 is NULL and Tabelle2.Feld9 = '1'

group by Tabelle1.FeldA,Tabelle1.FeldB
Es ist jewals ein extra Index angelegt auf:
Feld1, Feld2, Feld3, Feld4, Feld5, Feld9

Es wird nun nur der Index auf das Feld1 benutzt und ein Indix auf ein Feld9 welche auch in der Join ist. Wenn ich diese Bedingung entferne, also bei der Where das Feld1 entferne so werden als Index alle (restlichen) benutzt.

Wie kann den das sein bzw. warum benutzt Firebid nicht alle angelegten ?


Danke schon mal für die Antworten Tanja
Tanja

Geändert von Dumpfbacke (10. Aug 2016 um 13:20 Uhr)
  Mit Zitat antworten Zitat