Einzelnen Beitrag anzeigen

Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.338 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Benötigte Zeit für einen Abfrage

  Alt 28. Dez 2013, 05:51
Gründe für dieses Verhalten kann es mehrere geben. Ich bin kein Firebird-Spezi, aber ein paar Dinge sollten vielleicht mal geprüft werden. Meistens ist ein "OR" für eine DB nicht optimal. Das gilt auch für andere Bedingungen. ">=" ist z.B. besser zu verarbeiten als ">", wenn ein Index auf dem Feld liegt.

Vergleiche die Geschwindigkeit für beide Städte getrennt. Falls dort ein auffälliger Unterschied ist, kann auch eine unterschiedliche Spracheinstellung zwischen Client und Server die Ursache sein (München enthält deutsches Sonderzeichen).

Die Reihenfolge der Bedingungen kann eine Rolle spielen. Einfach mal ausprobieren, ob es was in diesem Fall bringt, diese zu verändern.

Eine Abfrage mit "IN", wie weiter oben schon beschrieben ist manchmal besser zu verarbeiten, als ein "OR".

Manchmal sind 2 Abfragen mit einem "UNION" schneller.

Auf jeden Fall sollte man den Analyse-Plan anschauen. Der gibt schon eine Menge Hinweise, wo die Abfrage ausgebremst wird.
Peter
  Mit Zitat antworten Zitat