MySQL Forums
Forum List  »  German

Re: Wird Abfrage durch view-Tabellen gebremst?
Posted by: Thomas Wiedmann
Date: May 28, 2011 09:57AM

Hallo Alwin,

VIEWs haben keinen PRIMARY KEY (und auch keine anderen Index), da eine VIEW keine echte Tabelle ist, sondern eine gespeicherte SQL-Abfrage. D.h. wird eine VIEW aufgerufen, führt MySQL die dahinter liegende (gespeicherte) SQL-Abfrage aus.
VIEWs machen die Abfragen häufig übersichtlicher und können bestimmten Usern einfach bestimmte Abfragen/Daten zur Verfügung stellen.
Bei komplexen Abfragen würde ich (bei MySQL) auf die VIEWs verzichten und die SQL-Abfragen direkt in den großen Query einbinden.

Ob und warum eine Query langsam ist, läßt sich am Besten mit EXPLAIN herausfinden.

Beispiel (das Ganze mit [ code ] [ / code ] ohne die Leerzeichen)

mysql> EXPLAIN SELECT * FROM test;
+----+-------------+-------+------+---------------+------+---------+------+------+-------+
| id | select_type | table | type | possible_keys | key  | key_len | ref  | rows | Extra |
+----+-------------+-------+------+---------------+------+---------+------+------+-------+
|  1 | SIMPLE      | test  | ALL  | NULL          | NULL | NULL    | NULL |    4 |       |
+----+-------------+-------+------+---------------+------+---------+------+------+-------+
1 row in set (0.00 sec)

mysql>

Zeig doch mal den EXPLAIN der langsamen SQL-Abfrage.

Grüße
Thomas

--
Die SQL-Backstube
http://www.twiedmann.de/sqlbackstube/index

Options: ReplyQuote




Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.