Mailinglisten-Archive |
Du kannst auch eine temporäre Tabelle anlegen, und danach mit select * from tabelle1 replace .... updaten .... Gru/3, Guido Stepken -----Ursprüngliche Nachricht----- Von: Martin Ramsch <m.ramsch_(at)_computer.org> An: Deutsche MySQL-Mailingliste <mysql-de_(at)_lists.4t2.com> Gesendet: Montag, 20. September 1999 14:11 Betreff: Re: datensaetze loeschen (speedproblem) > Mariano Glas schrieb am Sonntag, den 19. September 1999: > > ein loeschen von ca. 12.000 DS via "delete from tab_a where > > benutzer=123" dauert auf einem AMD 400, 128MB Ram, IDE Platte > > (Seagate), Linux 2.2 und mysql 3.22.25 ueber drei minuten. > > Leider fällt mir direkt dazu kein Tipp ein - da würde sich eventuell > eine Frage in der internationalen MySQL-Liste lohnen, wo der > Entwickler Monty selbst und einige Experten sind, die sich mit solchen > Optimierungsfragen gut auskennen. > > > Kann man das irgendwie beschleunigen ?? > > Ein möglicher Trick wäre, daß Du die Datensätze erstmal gar nicht > wirklich löscht, sondern eine zusätzliche Spalte > valid ENUM('Y','N') DEFAULT 'Y' NOT NULL > einführst und statt des Löschens > UPDATE tab_a SET valid='N' WHERE benutzer=123 > ausführst. > Und natürlich in allen SELECTs auch immer > AND valid='Y' > prüfst, damit nur gültige Datensätze genutzt werden ... > > Dieses UPDATE sollte eigentlich ziemlich schnell sein. > > Um die als ungültig markierten Datensätze schließlich wirklich zu > löschen, kannst Du dann > DELETE LOW_PRIORITY FROM tab_a WHERE valid='N' > nutzen, das dann zu Löschen beginnt, wenn gerade sonst keiner die > Tabelle zugreift. > > Ich weiß aber nicht, ob dieser Ansatz für Dich nützlich ist ...? > > Ciao, > Martin > -- > Martin Ramsch <m.ramsch_(at)_computer.org> <URL: http://home.pages.de/~ramsch/ > > PGP KeyID=0xE8EF4F75 FiPr=52 44 5E F3 B0 B1 38 26 E4 EC 80 58 7B 31 3A D7 > > --- > *** Abmelden von dieser Mailingliste funktioniert per E-Mail > *** an mysql-de-request_(at)_lists.4t2.com mit Betreff/Subject: unsubscribe --- *** Abmelden von dieser Mailingliste funktioniert per E-Mail *** an mysql-de-request_(at)_lists.4t2.com mit Betreff/Subject: unsubscribe
php::bar PHP Wiki - Listenarchive