Hi
Ich bin jetzt nicht _der_ Datenbank Speziallist,
aber warum die Tabelle jedesmal löschen?
Leer sie doch einfach mittels DELETE FROM xyz.
Das ist im allgemeinen Fall _ganz_ schlecht.
Ein DELETE greift auf die einzelnen Datensätze zu
und entfernt einen nach dem anderen - es könnte ja
eine WHERE-Klausel bewirken, daß _nicht_ alle Zeilen
entfernt werden sollen. Das ist schrecklich langsam.
(Oder es könnten parallel andere Prozesse darauf zu-
greifen - dieses Argument scheidet bei temporären
Tabellen allerdings aus.)
Das das wenn es genau so geschieht sehr langsam ist, ist mir klar ;-). Aber ich hab irgendwo mal gelesen, ich glaube es war in dem Buch von Paul Dubois "Mysql und Perl", dass wenn man bei Mysql ein ein DELETE Statement ohne WHERE Klausel startet, werden die Zeilen um Last zu vermeiden (wie heißen sie nochmal in Wirklichkeit?) nicht einzeln gelöscht, sonder die Tabelle gelöscht und sofort neu angelegt. Was natürlich ein properietäres Feature ist. Eigentlich wollte ich das auch in meinem letzten Posting noch schreiben, aber habe es dann doch irgendwie vergessen.
Naja, ich suche die betreffende Textstelle mal.
mfg
Andres Freund
PS: So ein Informatik Studium wäre wirklich was interressantes.