Einzelnen Beitrag anzeigen

Norbert5

Registriert seit: 6. Nov 2009
6 Beiträge
 
#11

Re: Geschwindigkeit von Views verbessern

  Alt 11. Nov 2009, 10:00
Hi!

Mit deiner Anweisung
SELECT d.* FROM datentabelle d, zugrifftabelle z WHERE d.mandant = z.mandant liest du alle Datensätze aus der Datentabelle, das dauert bei Millionen von Datensätzen natürlich einige Zeit. Die Angabe der Zugrifftabelle im FROM-Teil - und damit auch das WHERE-Token bewirken gar nichts mehr, da ja aus z keine Felder selektiert werden und die WHERE-Klausel die Datensätze von D nicht einschränkt.

Vermutlich willst du ja nur die Daten zu "current_user" anzeigen. Wenn dies ein Feld der Zugriffstabelle ist, solltest du die SQL-Anweisung so ändern:
Delphi-Quellcode:
query.SQL := 'SELECT d.* FROM datentabelle d '
            +'LEFT JOIN zugriffstabelle z on d.mandant=z.mandant '
            +'WHERE z.current_user='''+aktuser+'''';
  Mit Zitat antworten Zitat