Neue Antwort schreiben 
 
Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
sql, MEMORY, overhead
ggeretsae Offline
Erfahrener Benutzer

Beiträge: 621
Registriert seit: Apr 2009
Beitrag #1
sql, MEMORY, overhead
wenn ich viele Datensätze aus einer Tabelle lösche entsteht ja bei mysql erstmal ein overhead, den man mit nem einfachen optimize oder (glaube ich mal gelesen zu haben) mit einer modifikation der tabelle los wird (also insert, update etc...).

Jetzt habe ich mir ein Sessionsystem geschrieben, was mir die Benutzerdaten immer in eine Tabelle schreibt, welche als Storage Engine "MEMORY" hat.
Darauf kann man aber kein Optimize ausführen, wie bekomme ich jetzt den overhead und damit Ramverschwendung wieder weg?

jemand ne idee?

» Flattr mich! - Wenn dir mein Beitrag geholfen hat! «
<| 2 AMD Opterons 2384@ 8x3,2ghz | Tyan S2915 | 10GB | 2x 8800GT | 8400GS | Dell 3008WFP + 2x2007FP |>
15.06.2009 11:57
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
CHRiSNEW Offline
Internetblasensammler

Beiträge: 2.864
Registriert seit: Jul 2008
Beitrag #2
sql, MEMORY, overhead
Das Ding sollte afaik selbst Lücken finden und die befüllen, da bei MEMORY keine variablen Längen existieren.
Aber keine Garantie, ob das jetzt stimmt.

15.06.2009 13:54
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
ggeretsae Offline
Erfahrener Benutzer

Beiträge: 621
Registriert seit: Apr 2009
Beitrag #3
sql, MEMORY, overhead
jo an sich müsste das schon stimmen, aber wie bekomm ich die lücken geschlossen, das ist mein problem.
es scheint mir, dass der ramverbrauch dynamisch in die höhe geht solange er gebraucht wird und anschliesend aber an dem punkt stehen bleibt, und das ist nen verhalten, was ich nich haben will.

» Flattr mich! - Wenn dir mein Beitrag geholfen hat! «
<| 2 AMD Opterons 2384@ 8x3,2ghz | Tyan S2915 | 10GB | 2x 8800GT | 8400GS | Dell 3008WFP + 2x2007FP |>
15.06.2009 13:56
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
CHRiSNEW Offline
Internetblasensammler

Beiträge: 2.864
Registriert seit: Jul 2008
Beitrag #4
sql, MEMORY, overhead
Zitat:Memory used by a MEMORY table is not reclaimed if you delete individual rows from the table. Memory is only reclaimed when the entire table is deleted. Memory that was previously used for rows that have been deleted will be re-used for new rows only within the same table. To free up the memory used by rows that have been deleted you should use ALTER TABLE ENGINE=MEMORY to force a table rebuild.
Problem solved.

15.06.2009 16:15
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
ggeretsae Offline
Erfahrener Benutzer

Beiträge: 621
Registriert seit: Apr 2009
Beitrag #5
sql, MEMORY, overhead
tres nice ;)
das arbeitet wunderbar und geht auch sehr schnell von statten :)

» Flattr mich! - Wenn dir mein Beitrag geholfen hat! «
<| 2 AMD Opterons 2384@ 8x3,2ghz | Tyan S2915 | 10GB | 2x 8800GT | 8400GS | Dell 3008WFP + 2x2007FP |>
16.06.2009 12:25
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Neue Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste