Einzelnen Beitrag anzeigen

Andreas Schilling

Registriert seit: 6. Sep 2006
106 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Prozedur (SQL-Statement) optimieren

  Alt 21. Feb 2011, 11:34
In der where-Bedingung zuerst die Abfrage mit der kleinsten Ergebnismenge aus der Haupttabelle. Da in deinem Fall nur eine where-Bedingung auf die Haupttabelle geht, diese also zuerst abfragen. Dadurch werden nur noch Unterabfragen zu den resultierenden Datensätzen durchgeführt. Bei deiner Reihenfolge der where-Bedingung werden praktisch alle Datensätze der Haupttabelle angefasst um zu prüfen ob in Tabelle translations ein gesuchter Eintrag existiert.
workQuery.SQL.Add('where ass.id=:id and trans.language_id=:lng'); Die Felder ass.id, art.id und trans.article_id sollten zusätzlich noch indiziert sein.
  Mit Zitat antworten Zitat