Hallo,
was ihr alle gegen Views habt ???
Hier mein Senf. *gr*
SELECT d.* FROM datentabelle d, zugrifftabelle z WHERE d.mandant = z.mandant
sollte auf jeden Fall umgeschrieben werden.
SELECT d.* FROM datentabelle d
INNER JOIN zugrifftabelle z on d.mandant = z.mandant
Auf datentabelle.mandant und zugrifftabelle.mandant müssen Indizes liegen.
Die Indizes müssen "aktuell" sein (ausbalanciert)
Unter Firebird geht das mit
Alter Index Inactive /
Alter Index Active
unter PostgreSQL ???
#Update#, ANALYZE heisst das wohl.
Das ich als Client nicht mit
Select * From View
auf den View gehe und dann alle Daten am Stück laden,
ist genauso klar wie es bei Tabellen ist.
Warum der
Query-Optimizer bei der Verwendung von Views Probleme bekommen soll,
ist mir nicht ganz klar, es sei denn du meinst Views mit vielen Joins.
Wenn ein User solche Views auch noch
verjoint, gibt das natürlich etwas Arbeit
für den Optimizer.
Hier noch ein paar interessante Links.
Du solltest dir mal besionders Partitionierung ansehen.
PostgreSQL optimieren
Materialized View
Heiko
PS: An dem OpenSource-Tag war ich dabei