AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Firebird DB Größe nach löschen von Sätzen gleichgross ?
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird DB Größe nach löschen von Sätzen gleichgross ?

Ein Thema von nachtstreuner · begonnen am 11. Nov 2008 · letzter Beitrag vom 18. Nov 2008
Antwort Antwort
Seite 1 von 2  1 2      
nachtstreuner

Registriert seit: 21. Aug 2005
Ort: ESA
104 Beiträge
 
Delphi XE2 Professional
 
#1

Firebird DB Größe nach löschen von Sätzen gleichgross ?

  Alt 11. Nov 2008, 14:00
Datenbank: Firebird • Version: 1.5 • Zugriff über: ZEOS
Firebird-Experten gefragt

ich habe heute mal eine Firebird Datenbank(fdb) bereinigt, Größe vorher ca. 149 MB, dann habe ich über 130.000 Datensätze exportiert und danach gelöscht, trotzdem ist die Gesamtgröße gleich geblieben.

Gibt es hierfür eine Erklärung ?

mfg
nachtstreuner
Alles wird gut -
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Firebird DB Größe nach löschen von Sätzen gleichgross ?

  Alt 11. Nov 2008, 14:02
Ja, es wird nicht wirklich gelöscht sondern nur markiert. Führe mal ein Datenbank-Sweep oder ein Backup/Restore durch
Markus Kinzler
  Mit Zitat antworten Zitat
nachtstreuner

Registriert seit: 21. Aug 2005
Ort: ESA
104 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Firebird DB Größe nach löschen von Sätzen gleichgross ?

  Alt 11. Nov 2008, 14:05
Danke mKinzler,

hab ich mir fast gedacht, wie beim alten dBase !

ich habe den EMS Manager zum löschen benutzt, wie führe ich da ein Sweep aus ?

mfg
nachtstreuner
Alles wird gut -
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Firebird DB Größe nach löschen von Sätzen gleichgross ?

  Alt 11. Nov 2008, 14:09
Ich kenne den EMS nicht, nach dem Screenshot könnte es sich unter Services verbergen
Markus Kinzler
  Mit Zitat antworten Zitat
nachtstreuner

Registriert seit: 21. Aug 2005
Ort: ESA
104 Beiträge
 
Delphi XE2 Professional
 
#5

Re: Firebird DB Größe nach löschen von Sätzen gleichgross ?

  Alt 11. Nov 2008, 14:16
Hallo mKinzler

der EMS Firebird Manager ist ein externes Tool, um Firebird-DBs anzulegen, zu löschen und verschiedene
Transaktionen auszuführen. An und für sich ein sehr gutes Admin-Tool.

Habe jetzt auch die Datenbankgröße reduzieren können, nach deinem Hinweis, von 149 MB auf 10 MB.

Für alle die den EMS benutzen.

1. Schritt - nicht mehr benötigte Datensätze exportieren bzw. gleich löschen
2. Schritt - unter Dienste ein Datenbank-Backup starten
3. Schritt - Die Datenbank runterfahren, nicht den EMS beenden, wenn die DB nicht runtergefahren wird, kommt es zu einer Fehlermeldung beim Restore, DB in use.
4. Schritt - nachdem die DB heruntergefahren wurde, unter Dienste Datenbank Restore aufrufen, dort das vorher angelegte BACKUP aufrufen und Restore starten und siehe da (ALLES wird GUT).

Danke an mKinzler und das DP Team

mfg
nachtstreuner
Alles wird gut -
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Firebird DB Größe nach löschen von Sätzen gleichgross ?

  Alt 11. Nov 2008, 14:50
Dir ist aber klar, dass das absolut nicht notwendig sein sollte?
Der Platz wird vom DBMS wiederverwendet. Wenn du also später Daten hinzufügst, muss die Datei nicht vergrößert werden.
Vergrößern von Dateien ist immer mit einem Performanceeinbruch verbunden, deshalb lässt FB die Dateien in der Größe.
Bei dBase musste man tatsächlich regelmäßig verkleinern. Bei Firebird muss man eigentlich bis auf das normale, regelmäßige Backup gar nix machen.
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Firebird DB Größe nach löschen von Sätzen gleichgross ?

  Alt 11. Nov 2008, 15:06
Zitat:
der EMS Firebird Manager ist ein externes Tool, um Firebird-DBs anzulegen, zu löschen und verschiedene
Transaktionen auszuführen. An und für sich ein sehr gutes Admin-Tool.
Das war mir klar, nur wo sich die Funktioen im Menü versteckt wusste ich halt nicht.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#8

Re: Firebird DB Größe nach löschen von Sätzen gleichgross ?

  Alt 11. Nov 2008, 15:15
Zitat von Elvis:
Vergrößern von Dateien ist immer mit einem Performanceeinbruch verbunden, deshalb lässt FB die Dateien in der Größe.
Nicht ganz ... ein verkleinern der dateien hat einen performance nachteil das vergrößern kaum. (deswegen läßt ein DBMS die dateien einfach so groß)

Wahrscheinlich will er die datenbank kleiner bekommen damit sie noch so viel platz verbraucht.
Alex
"Sage nicht alles, was du weißt, aber wisse alles, was du sagst!" Matthias Claudius
"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Firebird DB Größe nach löschen von Sätzen gleichgross ?

  Alt 11. Nov 2008, 15:26
Zitat:
Nicht ganz ... ein verkleinern der dateien hat einen performance nachteil das vergrößern kaum.
Doch das Vergrößern der Datei benötigt Zeit und führt u.U. noch zu Fragmentierung der Datenbankdatei, was zusätzlich Performance kostet.
Markus Kinzler
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#10

Re: Firebird DB Größe nach löschen von Sätzen gleichgross ?

  Alt 11. Nov 2008, 16:37
Ich kenne die interne Struktur von FB nicht, aber normalerweise ist eine regelmäßige Seitenreorganisation für eine performante DB unabdingbar. In Abhängigkeit von der Fetchengine sowie dem Pagemanager kann es zu drastischen Performancegewinnen kommen, wenn logisch zusammenhängende Seiten bei einem Reinigungslauf, der über das reine Verkleinern hinausgeht, auch "nebeneinander" abgelegt werden.

Unter Windows gibt es das Scatter/Gather-IO, bei dem bis zu 8 Seiten in einem Wisch in den Speicher geladen bzw. geschrieben werden. Zumindest MS-SQL sortiert daher vorher (während einer Reorganisation) die Seiten so, das die zu einer DB/Tabelle gehörenden Daten schneller geladen werden.

Wie das bei Firebird ist, weiss ich jedoch nicht, es würde micht jedoch nicht wundern, wenn dort eine ähnliche Organisation und Strukur vorhanden ist.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 12:02 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