phpbar.de logo

Mailinglisten-Archive

AW: Antwort: Optimize ?

AW: Antwort: Optimize ?

Gloss Mathias mysql_(at)_lists.phpcenter.de
Tue, 20 Mar 2001 17:35:19 +0100


Aloha,

> ----------
> Von: 	alexander.skwar_(at)_delphiauto.com[SMTP:alexander.skwar_(at)_delphiauto.com]
> 
> Ist in der Tabelle irgendwas drin, was drin bleiben soll?  Wenn nein, dann
> versuch mal "DELETE FROM Tabelle".  Danach war dann bei mir der interne
> Counter
> für die AUTO_INCREMENT Spalte auch auf 0 gesetzt.
> 
das ist eine sehr unschöne eigenart von mysql.

Das liegt daran, daß der eingebaute Optimizer
erkennt, daß alle Datensätze gelöscht werden sollen
und damit sich die Tabellendefiniton merkt, die 3
zugehörigen Dateien löscht, und die Tabelle neu
anlegt (was schneller geht).

Unfein ist, daß man nicht erwartet, daß nach einem
delete from table   die auto-increment-Spalte wieder
von 1 an zählt ... das gehört sich nicht.

Irgend eine Beta unter Windows hat außerdem bei
dem optimierten löschen auch noch eine Datei ver-
gessen anzulegen *grumpf*

Vermeiden kann man das übrigens mit
delete from table where 1;

Dann wird der Optimizer nicht benutzt ;-)

Viele Grüße, Mathias

---
*** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive