Maria DB komprimieren

Babsi

SQL-Guru
Beiträge
122
Guten Morgen,

ich habe schon lange nihct merh mit der Administration von DB's zu tun gehabt.
Ich würde ganz gerne wissen, ob bzw. wie es möglich ist eine Maria DB zu verkleinern.
Als erstes möchte ich Datensätze löschen, die nicht mehr beötigt werden, aber ich denke das ist doch
nicht alles, danach muss es doch irgend wie so etwas wie Komprimierung oder so geben, kann mir da jemand weiter helfen?
 
Werbung:
Das kommt insbesondere auf die Engine an. Google bitte nach "innodb verkleinern", falls Du InnoDB hast. Falls Plattenplatz ein generelles Problem ist, könntest Du auch gleich die MySQL Blackhole - Engine verwenden, die ist außerdem sehr viel schneller im speichern. Allerdings findest Du dann nix mehr...
 
Hallo aKretschmer,

danke erst mal.
Ich weiß nicht was wir da haben, kann ich frühstens am Mittwoch schauen, oder ich muss mal sehen ob ich von hier aus Zugriff bekomme.
Ich denke nicht, dass der Plattenplatz das Problem ist, da sind einfach Daten dabei die nicht mehr beötigt werde und raus können.
Wie ich ein DELETE auf die Tabelle mache weiß ich aber alles andere...
"MySQL Blackhole - Engine verwenden, die ist außerdem sehr viel schneller im speichern. Allerdings findest Du dann nix mehr..."
Aber wenn ich da nix mehr finde brauch ich doch auch gar net suchen.:)
 
iirc gibt es keinen anderen Weg, bei InnoDB den Speicher wieder freizugeben (im Sinne von Festplattenplatz) als Dump, DROP TABLE und Restore. MySQL halt.
 
Vielleicht ist der Speicher auch gar nicht zu klein, es geht ja eigentlich darum Daten aus der tabelle zu löschen in die ständig eingelesen wird.
Irgendwann werden die nicht mehr benötigt und es ist auch schon gelöscht worden, das sehe ich doch am Autowert.
Ich denke es reicht vielleicht doch ein einfaches Delete um das Einlesen wider zu beschleunigen.
Nur darum gehts.
Ich dachte nur nach dem löschen von Daten müsse man auch irgdnwei komprimieren...
 
soweit mir bekannt (Vorsicht: ich kenne MySQL nicht weiter, daß, was ich weiß, reicht, um Abstand zu halten) ist da nix weiter nötig und möglich. Auf die Geschwindigkeit von Inserts sollte es keinen Einfluß haben. Wie gesagt, MySQL ist nicht mein Ding.
 
@Babsi Langsam und ruhig. Erklär uns doch erst einmal, worin genau Dein Problem besteht. Anfangs schien es mir, als ginge es Dir um den Plattenplatz, danach eher als würde es um Performance gehen?

Die Anzahl der Datensätze in Deiner Tabelle ist der Datenbank (fast) völlig egal, ob da jetzt 10 Sätze drin stehen oder 10 Millionen, macht bei der Geschwindigkeit keinen Unterschied - ausser die Anwendung ist völlig falsch designed.

Einfach einen DELETE abzusetzen ohne die Datenstrukturen und die Anwendung genauestens zu kennen ins fahrlässig und führt unter Umständen zu Riesenproblemen mit Deiner Anwendung!

Falls es doch um den Plattenplatz geht: Mysql unterstützt auch für Innodb ein OPTIMIZE TABLE, Platz auf der Festplatte wird dabei aber nur unter bestimmten Umständen freigegeben - ist aber auch nicht immer nötig, der frei gewordene Platz wird ja ohnehin wieder für neue Datensätze recycled.

@akretschmer Brems Dich ein wenig ein.
 
Werbung:
Hallo Walter,

in diese Datenbank werden täglich Daten gespielt die von außen kommen. Ich denke bevor ich hier jetzt weiter schreibe
muss ich ers mal klären wo genau das Problem liegt, ich komme aber von hier aus nicht da drauf.
Ich weiß aber das schon daten gelöscht wurde, das Autoinkrement fängt irgdenwo bei 2.225.255 an.
Das Einspielen der Daten morgens klappt auf jeden Fall nicht mehr wie es sein soll, der braucht zu lange, jetzt ist die Zeit, wo das Ablaufen soll
wohl schon nach hinten verschoben worden, nun läuft das erst mal wieder.
Daher war meine Idee Daten aus der Tabelle zu löschen, damit die kleiner ist und der Zugriff schneller möglich ist, hm.
Ich muss das erst mal klären denke ich. Es handelt sich nur um eine einzige Tabelle an die angefügt/eingelesen wird.
Ich hab so was noch nie gemacht, und denke ich schaue mir erst mal diese Datei an, die das ganze da ja wohl managet.
Das schaffe ich aber wohl erst Mittwoch.
ich danke Dir erst aml und würde mich wieder melden.
Gruß, Babsi
 
Zurück
Oben