Einzelnen Beitrag anzeigen

jobo

Registriert seit: 29. Nov 2010
2.965 Beiträge
 
Delphi 2010 Enterprise
 
#11

AW: Index wird teilweise nicht benutzt

  Alt 11. Aug 2016, 09:44
Nachtrag
Die beiden Ausführungspläne zeigen jedenfalls, dass der 2. Plan viel besser ist.
Also wie kann man den Optimizer dazu bringen, dem 2. Plan zu folgen ohne die Bedingung wegzulssen?

Den (Ausführungs)Plan angeben
http://www.firebirdfaq.org/faq224/

Unbehilfliche Indizes löschen (Feld1)

oder wenn der Index an anderer Stelle gebraucht wird, die Abfrage so formulieren, dass der Index nicht greifen kann:
http://www.firebirdfaq.org/faq158/

Außerdem:
Warum verwendest Du "Group by", ohne eine Aggregatfunktion?
Falls es um die Unterdrückung doppelter Ergebnisssätze geht, überprüfe Dein Join Kriterium.
Wenn eine Bedingung fehlt, kann es zu Permutationen führen, die mehrfachen Datensätze wären ein Indiz dafür.
Das zieht natürlich auch die Performance runter und "verwirrt" ggF. den Optimizer.
Gruß, Jo
  Mit Zitat antworten Zitat