Advanced MySQL - Zwischenspeicherung - Views - Das Prinzip
1. Aufruf eines Views
Das geschieht mit CREATE VIEW
. Dazu muss man dem Kind auch noch einen Namen geben, ein AS
dranhängen und
zu guter Letzt den Query anfügen. Wichtig dabei ist, dass der dann sehr allgemein gehalten ist, also im Normalfall ohne(!)
WHERE
-Klausel.
CREATE VIEW uebersicht AS
SELECT
a.id,
a.vorname,
a.name,
a.strasse,
a.plz,
a.ort,
k.blz,
k.ktonr,
s.guthaben,
s.dispo,
s.guthaben + s.dispo as verfuegbar
FROM
adresse a
INNER JOIN
konto k on (k.adr_id = a.id)
INNER JOIN
saldo s on (s.kto_id = k.id)
2. Das Ergebnis
... ist dann die schon erwähnte virtuelle Tabelle, die sich in der Datenbank befindet. Und darin befindet sich bereits ein komplettes Datenabbild der SQL-Abfrage.
+----------------+
| Tables_in_mydb |
+----------------+
| adresse |
| konto |
| saldo |
| uebersicht |
+----------------+
3. Die Abfrage
... läuft dann genau so wie bei normalen Tabellen ab. Praktisch, gell?
SELECT
guthaben,
dispo,
verfuegbar
FROM
uebersicht
WHERE id = 1;
4. Aber!
Bei Views gehen sämtliche Indizes verloren! Da ist nichts mehr mit PRIMARY KEY
und dergleichen. Deshalb sollte man
auch sehr vorsichtig damit sein. Man spart sich zwar viel Arbeit, aber das kann sehr schnell zu Lasten der Geschwindigkeit gehen.
zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt