[MySQL] Database content comprimeren

Pagina: 1
Acties:
  • 116 views sinds 30-01-2008
  • Reageer

  • maartenvdv737
  • Registratie: Augustus 2000
  • Laatst online: 17-08 15:34
Ik heb een mysql database van 22Gb met allemaal HTML erin. Graag wil ik deze comprimeren, om ruimte te besparen.

Daarvoor heb ik een PHP script geschreven die elke row ophaalt uit de database en een gzcompress() doet. Vervolgens wordt de data terug geschreven.

Vergelijk ik nu de 2 versies met elkaar, dan zie ik inderdaad dat de tabellen die al gecomprimeerd zijn minder data bevatten: LENGTH(veld) is kleiner voor elke row. Echter, als ik nu op het filesystem kijk en met ls -all de grootte van de (innodb) tabellen bekijk, dan zijn de gecomprimeerde tabellen groter dan de ongecomprimeerde tabellen.

Ik kan hier absoluut geen verklaring voor vinden. Beide tabellen hebben velden met type mediumtext. Dit heb ik ook met BLOB geprobeerd, maar dat geeft geen verschil.

Heeft iemand hier een verklaring voor, en zijn er misschien nog suggesties om die 22Gb wat kleiner te krijgen? Daarbij moet gezegd worden dat een read-only oplossing niet mogelijk is.

Ik blijf er iig vrij nuchter onder....


  • Varienaja
  • Registratie: Februari 2001
  • Laatst online: 14-06-2025

Varienaja

Wie dit leest is gek.

Ik heb eerlijk gezegd geen oplossing voor je, maar ik wil je wel dit zeggen:

Een database is om gegevens doorzoekbaar te maken. Wanneer je je html (waarvan ik het al raar vind dat je die in een database stopt) ook nog eens gaat comprimeren gooi je alle zoekmogelijkheden daarop volledig weg.

Wanneer de html-velden toch al niet-doorzoekbaar zijn, dan kan je mijns inziens evengoed een URL of bestandsnaam op gaan slaan in de database, dan kan je de html's lekker op de www-server of op het bestandssysteem laten staan. Reken maar dat daarmee de grootte van je database afneemt!

Als je vervolgens de html-bestanden nog wilt comprimeren, dan kan je met ntfs de comprimeer-optie eenvoudigweg aanzetten. Of wanneer je een ander operating systeem gebruikt een vergelijkbare methode op de bestanden loslaten.

Siditamentis astuentis pactum.


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

22GB aan HTML :X Maargoed; kijk hier eens naar. Daarnaast moet je inderdaad eens gaan nadenken wat je aan het doen bent als HTML opslaat in je database :)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate