Hauptmenü

Untermenü

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