phpbar.de logo

Mailinglisten-Archive

Re: datensaetze loeschen (speedproblem)
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: datensaetze loeschen (speedproblem)



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


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive