AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQLite DB intern komprimieren? Ist das möglich?
Thema durchsuchen
Ansicht
Themen-Optionen

SQLite DB intern komprimieren? Ist das möglich?

Ein Thema von stho · begonnen am 25. Mär 2010 · letzter Beitrag vom 25. Mär 2010
Antwort Antwort
stho

Registriert seit: 16. Sep 2009
Ort: 127.0.0.1
288 Beiträge
 
Delphi 2007 Professional
 
#1

SQLite DB intern komprimieren? Ist das möglich?

  Alt 25. Mär 2010, 07:16
Datenbank: SQLite • Version: 3.x • Zugriff über: ASQLite
Hallo Leute

Ich benutze SQLite als embedded-DB für einen einzigen Benutzer.
Darin sollen große .txt Dateien gespeichert und auch später bearbeitet werden.
Die Größe der txt-Dateien beläuft sich auf 250 kb - 3600 kb
Jedoch versuche ich die Datenbank recht klein zu halten... Doch, wie du erwarten, wächst die Datenbank natürlich mit zunehmenden Textdateien immer weiter an. (Ist ja auch logisch ^^)

Ich möchte in diesem Fall wissen, gibt es eine Möglichkeit SQLite Datenbanken INTERN zu komprimieren?
Vielleicht einen Befehl oder einen Aufruf den ich nicht kenne?

Währe über eine Antwort oder einen Hinweis sehr dankbar


Liebe Grüße
stho


P.S.
Ja, die SuFu und www.gidf.de habe ich schon genutzt...
Also bitte keine Kommentare in diese Richtung wenn möglich. ^^ Danke
  Mit Zitat antworten Zitat
Grolle

Registriert seit: 5. Nov 2004
Ort: Coesfeld
1.268 Beiträge
 
Delphi 2010 Professional
 
#2

Re: SQLite DB intern komprimieren? Ist das möglich?

  Alt 25. Mär 2010, 07:51
Vacuum?

Viele Grüße ...

  Mit Zitat antworten Zitat
stho

Registriert seit: 16. Sep 2009
Ort: 127.0.0.1
288 Beiträge
 
Delphi 2007 Professional
 
#3

Re: SQLite DB intern komprimieren? Ist das möglich?

  Alt 25. Mär 2010, 07:54
naja, Vacuum gibt ja nur die "Platzhalter" in der DB frei um die Datenbank um die Menge der gelöschten Datensätze zu verkleinern.
(Sprich: Datensatz löschen + Vacuum = Datenbank.Speicher - Datensazt.Speicherbedarf)

Ich suche eine Möglichkeit um Texte (in diesem Fall schon größere Textmengen) in der Datenbank selber zu komprimieren...
Vielleicht gibt es da ja was
aber bisher war meine Suche noch ohne Erfolg...


Edit:
Um es zu verdeutlichen:
Eine .txt Datei zu komprimieren, da bekomme ich aus einer 250 kb Datei mit 7-Zip eine 50kb Datei (Schwankungen von 35 - 70 kb)
Wenn ich diese unkomprimierte Textdatei in die DB einspiele verbraucht sie ja diese 250 kb... jetzt möchte ich nur wissen ob man diesen Text intern auch auf diese 35-70 kb komprimieren kann...
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: SQLite DB intern komprimieren? Ist das möglich?

  Alt 25. Mär 2010, 08:18
Falls es nicht unbedingt SQLLite sein muss: Accuracer kann Varchar and BLOB komprimieren.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
stho

Registriert seit: 16. Sep 2009
Ort: 127.0.0.1
288 Beiträge
 
Delphi 2007 Professional
 
#5

Re: SQLite DB intern komprimieren? Ist das möglich?

  Alt 25. Mär 2010, 08:20
@ Bernhard Geyer:

Danke für die Antwort ^^
Aber da mein Projekt schon im recht fortschrittlichen Entwicklungsstadium befindet, sollte es wohl SQLite sein...
Nur noch als weitere Info: Ich lese die Texte als Blob per TMemoryStream in die Datenbank...
Vielleicht geht da ja was?


Edit:
Dank dir hab ich das hier gefunden:
http://www.yunqa.de/delphi/doku.php/...7tmd6isb3aq5b2
Ich bin mir nur noch nicht sicher wie ich das neu erungene Wissen verwende...
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: SQLite DB intern komprimieren? Ist das möglich?

  Alt 25. Mär 2010, 08:27
Zitat von stho:
Dank dir hab ich das hier gefunden:
http://www.yunqa.de/delphi/doku.php/...7tmd6isb3aq5b2
Ich bin mir nur noch nicht sicher wie ich das neu erungene Wissen verwende...
Indem du auf DISQLite3 wechselst.

Ohne Wechsel sollte es doch einfach möglich sein deinen Memory-Stream vor dem Speichern in der DB mit einer der "üblichen" ZLib-Kompressionskomponenten zu komprimieren und beim auslesen vor dem verwenden zu dekomprimieren.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
stho

Registriert seit: 16. Sep 2009
Ort: 127.0.0.1
288 Beiträge
 
Delphi 2007 Professional
 
#7

Re: SQLite DB intern komprimieren? Ist das möglich?

  Alt 25. Mär 2010, 08:31
http://www.dellapasqua.com/delphizlib/
http://www.delphipraxis.net/internal...ct.php?t=59655
Das fiel mir sofort in die Hände als ich kurz danach gegoogelt habe...
Mal gucken ob das klappt ^^ währe aber wirklich geil *freuuuu*

Kann es leider erst heute Abend ausprobieren
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz