Tabellenspalte ersetzen

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Lafaiete
**
Beiträge: 30
Registriert: Fr, 10.09.2010 20:18

Tabellenspalte ersetzen

Beitrag von Lafaiete »

Hallo,
habe eine Datenbank mit 1200 Einträgen. Beim Erstellen der Tabellenspalten habe ich für einige Spalten 255 Zeichen anstatt 10 oder 20 reserviert. Mir scheint, dass die Datenbank daher sehr langsam ist. Eine Spalte lässt sich aber nicht ohne weiteres durch eine andere ersetzen, weil die zuerst angelegte mit Berichten und Abfragen bzw. Relationen verbunden ist. Die Spaltengröße nachträglich anpassen ist auch nicht zulässig. - Gibt es patente Hilfe?
Vielen Dank
Lafaiete
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Tabellenspalte ersetzen

Beitrag von DPunch »

Aloha
Lafaiete hat geschrieben:Beim Erstellen der Tabellenspalten habe ich für einige Spalten 255 Zeichen anstatt 10 oder 20 reserviert. Mir scheint, dass die Datenbank daher sehr langsam ist.
Tatsächlich reserviert sind die Zeichen nur, wenn Du den Typ CHAR verwendest, der Typ VARCHAR dagegen ist variabel und es macht in der Performance keinen spürbaren Unterschied, ob Du nun 10 oder 255 als Maximallänge angegeben hast.
Was genau meinst Du denn mit "sehr langsam"? Wie genau macht sich dieses "sehr langsam" bemerkbar?
Lafaiete hat geschrieben:Die Spaltengröße nachträglich anpassen ist auch nicht zulässig.
Beziehungen lösen, Tabelle bearbeiten, neue Länge für die Spalte eingeben, Beziehungen wieder setzen.
Lafaiete
**
Beiträge: 30
Registriert: Fr, 10.09.2010 20:18

Re: Tabellenspalte ersetzen

Beitrag von Lafaiete »

Hallo DPunch und andere freundliche Helfer,

vielen Dank für die Hilfe. Ich habe nachgesehen, alle Spalten sind auf Varchar gestellt, daran kann also die Größe nicht liegen. - Meine DB hat 50 Spalten in der ersten Tabelle und zweimal 5 in den Beziehungstabellen. Jede registrierte Person ist mit einem Foto aufgenommen, dessen Größe auf Longvarbinary steht. Die Fotos sind verkleinert und in JPEG abgespeichert. Ein Foto, das in die DB aufgenommen wird, ist zwischen 8 und 20 KB groß. Meines Erachtens nicht die Welt.
Insgesamt ist die DB auf eine Größe von 1,6 GB angewachsen und dauert sowohl zum Schließen wie zum Öffnen jeweils mindestens eine halbe Stunde.
Wenn ich die DB schließe, dauert es erstmal 10 Minuten, bis überhaupt etwas sichtbares passiert. Dann springt die Speichergröße auf Null und endet bei seiner eigentlichen Größe, jetzt 1,6 GB. Dieser Vorgang wiederholt sich zwischen vier- und fünfmal pro Speichervorgang.
Gestern habe ich spaßeshalber drei Spalten ersetzen wollen, die jeweilige kopiert und umbenannt als neue eingefügt. Damit hatte ich gleich 0,3 GB mehr. - Die sind aber auch nicht verschwunden, obschon ich die Spalten nachher wieder gelöscht habe. Ich schrieb ja, dass die auszuwechselnden Spalten nicht zu löschen waren. - Brauch ja jetzt auch nicht mehr, da sie auf Varchar stehen.
Hinzukommt, dass ich Abfragen nur per Bericht überprüfen kann. Eine Prüfung innerhalb der Abfrage knockt den PC für eine weitere halbe Stunde aus. Lasse ich sie jedoch als Bericht laufen, sind die Ergebnisse schnell ausgespuckt.
Ich habe den Verdacht, dass irgendwo unnötige Backups gespeichert sind, die alles und jede Bewegung speichern und somit die DB ausbremsen.
Ich benutze übrigens BrOffice, da ich z.Zt. in Brasilien lebe. Aber die Unterschiede zwischen Open Office und BrOffice werden ja nicht ganz so groß sein.

Hoffnung auf Antwort und Dank im Voraus

Lafaiete
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Tabellenspalte ersetzen

Beitrag von DPunch »

Aloha

Möglicherweise hilft Dir das Stichwort "CHECKPOINT DEFRAG" ja weiter?
Lafaiete
**
Beiträge: 30
Registriert: Fr, 10.09.2010 20:18

Re: Tabellenspalte ersetzen

Beitrag von Lafaiete »

DPunch hat geschrieben:Aloha

Möglicherweise hilft Dir das Stichwort "CHECKPOINT DEFRAG" ja weiter?
Und wie! - Du hast meinen Tag gerettet! - STUNDEN habe ich vor dieser Kiste gesessen um die Klamotte zu speichern. Selbst Parameterabfragen sind jetzt ohne weiteres möglich. - Manchmal habe ich früher auf eine Tabelle gedrückt und brauchte eine halbe Stunde, bis sie wieder schloss...

Alles im Lot

Riesen Dank!

Lafaiete
Antworten