AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi MyDAC: BLOB Feld richtig löschen
Thema durchsuchen
Ansicht
Themen-Optionen

MyDAC: BLOB Feld richtig löschen

Ein Thema von CG2003 · begonnen am 6. Sep 2010 · letzter Beitrag vom 9. Sep 2010
Antwort Antwort
CG2003

Registriert seit: 8. Nov 2003
Ort: Hamburg
470 Beiträge
 
Delphi 2009 Professional
 
#1

MyDAC: BLOB Feld richtig löschen

  Alt 6. Sep 2010, 22:48
Datenbank: MySQL • Version: 5 • Zugriff über: MyDAC
Hallo,

ich habe eine Tabelle die folgendermaßen aufgebaut ist:

DATEINAME (VARCHAR) DATEI (BLOB)



Nun kann ich prima Dateien hinzufügen und entfernen, allerdings wenn ich mittels DELETE FROM ... einen Eintrag lösche, wird der Eintrag zwar gelöscht, aber die Datenbank nicht kleiner.

Kann es sein, dass die BLOB-Felder mit den "Dateien" nicht richtig gelöscht werden?
Wenn ja, wie lösche ich diese richtig? Habe schon gegoogelt und die Suche benutzt und nichts gefunden.


Vielen Dank im Voraus!
Sebastian M.
Viele Grüße aus Hamburg


Meine Website: www.sebastian-mundt.com
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

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

AW: MyDAC: BLOB Feld richtig löschen

  Alt 7. Sep 2010, 07:23
Kleiner werden die meisten Datenbank(-dateien) nicht. Der Plattenplatz des gelöschten Datensatzes ist aber als leer markiert und wird für neuen Datensätze verwendet. Es wäre für DB's performancemäßig kontraproduktiv bei jeder löschaktion auch die DB-Dateien so zu reorganisieren das freier Plattenplatz entsteht.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: MyDAC: BLOB Feld richtig löschen

  Alt 7. Sep 2010, 07:30
Zum Thema MySQL Database shrink:
http://forums.mysql.com/read.php?35,...886#msg-121886
Markus Kinzler
  Mit Zitat antworten Zitat
CG2003

Registriert seit: 8. Nov 2003
Ort: Hamburg
470 Beiträge
 
Delphi 2009 Professional
 
#4

AW: MyDAC: BLOB Feld richtig löschen

  Alt 7. Sep 2010, 07:39
Also habe ich das richtig verstanden, dass der Plattenplatz des gelöschten BLOB-Feldes quasi für neue Datensätze verwendet wird?
Nicht dass die Datenbank so immer weiter wächst.
Sebastian M.
Viele Grüße aus Hamburg


Meine Website: www.sebastian-mundt.com
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

AW: MyDAC: BLOB Feld richtig löschen

  Alt 7. Sep 2010, 07:51
Mir ist keine Datenbank bekannt, bei der das anders ist. Nach dem "Löschen" wird der "freie" Speicherplatz neu verwendet und fertig. Ausserdem : was kostet heute ein Gigabyte ? 0,1 EUR ??
Gruß
Hansa
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#6

AW: MyDAC: BLOB Feld richtig löschen

  Alt 7. Sep 2010, 18:01
Mir ist keine Datenbank bekannt, bei der das anders ist.
MS SQL Server kann durch Setzen der "AutoShrink" Option die Datenbanken verkleinern.
In der Praxis kann das aber Probleme (z.B. starke Fragmentierung) verursachen; die Empfehlung ist AutoShrink nicht zu benutzen.

Zitat von CG2003:
Nicht dass die Datenbank so immer weiter wächst.
Man sollte die Datenbank(en) periodisch warten (komprimieren, evtl. Index neu aufbauen,...).
Man könnte dazu z.B. am Sonntag 3:00Uhr ein MYSQL-Script anstarten.
Andreas
  Mit Zitat antworten Zitat
CG2003

Registriert seit: 8. Nov 2003
Ort: Hamburg
470 Beiträge
 
Delphi 2009 Professional
 
#7

AW: MyDAC: BLOB Feld richtig löschen

  Alt 9. Sep 2010, 12:44
Super, vielen Dank!
Das mit der DB-Wartung ist an sich ja nicht das Problem. Mit dem richtigen SQL-Script und einem geplanten Task sollte das auch problemlos möglich sein.
Sebastian M.
Viele Grüße aus Hamburg


Meine Website: www.sebastian-mundt.com
  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 16:47 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