Delphi-PRAXiS
Seite 4 von 5   « Erste     234 5      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Optimierung einer Tabelle (https://www.delphipraxis.net/106333-optimierung-einer-tabelle.html)

Jelly 9. Jan 2008 15:11

Re: Optimierung einer Tabelle
 
Zitat:

Zitat von pronny31
Viele Beiträge hätten nicht verfasst werden müssen , wenn man versucht hätte meine Beiträge aufmerksam zu lesen ! Ich habe z.B. gesagt, dass meine Tabellen von der Struktur her absolut 100 % identisch sind -> anschließend folgt ein Hinweis das die Fehlermeldung auf die Tatsache zurük zu führen wäre, dass die Struktur der beiden Tabellen nicht identisch wäre !

Also jetzt machst du dich lächerlich, sorry.

In diesem Beitrag von dir hattest du vorhin wunderschön in einem Bild offen gelegt, dass die beiden Tabellen eben in der Reihenfolge der Felder NICHT identisch sind. Jetzt behauptest du weiter stur und fest, sie seien es trotzdem, und um alle Beweise zu vernichten, enfernst du den Screenshot.

Du meinst also nicht im ernst, dass ich darauf noch weiter eingehen möchte.

Und noch was: Ob nun 1000 oder 50 Millionen Datensätze in einer Tabelle stehen, das sagt noch längst nichts über ein gescheites DB Design aus.

Und glaube mir, du hast hier von einigen alten Hasen Antworten auch zu der theoretischen Frage erhalten, sogar von IBExpert selbst, dem Autor von IBExpert. Der kennt Firebird wie seine Westentasche, und wagst es trotzdem sein Wissen anzuzweifeln, und auf deine leichtsinnige, unbegründete Aussage zu basieren, die Tabellen wären identisch... Alswo wirklich, ja :gruebel:

mkinzler 9. Jan 2008 15:21

Re: Optimierung einer Tabelle
 
Liste der Anhänge anzeigen (Anzahl: 4)
Schau dir doch die Einträge der beiden Tabellen in der Systemtabelle an und du wirst sehen das selbe Struktur nicht gleiche Reihenfolge bei select * bedeutet.
Ich habe mal eine Testtabelle erzeugt und die Änderungen an den Systemtabellen mit Screenshoots dokumentiert.
1: Tabelle vor dem Update
2: Nach Anlage des temporären Feldes.
3: Nach Löschen des alten Feldes
4: Umbenennen des neuen Feldes

Vergleiche mal 1 und 4 und du siehst das Problem

pronny31 9. Jan 2008 15:33

Re: Optimierung einer Tabelle
 
Mkinzler vielen dank !

Das heißt also , wenn an einer Tabelle A Änderungen vorgenommen worden sind und an der Tabelle B keine Änderungen vorgenommen worden sind anschließend sichergestellt wird das die Tabelle A wieder identisch ist mit der Tabelle B das


SQL-Code:
Insert Into Tabelle A select * from Tabelle B nicht geht !

Stimmst du mir da zu ?

hoika 9. Jan 2008 15:40

Re: Optimierung einer Tabelle
 
Hallo,

ibexpert, tabelle bearbeiten - rechte maustaste reihenfolge ändern)


Heiko

Jelly 9. Jan 2008 15:43

Re: Optimierung einer Tabelle
 
Zitat:

Zitat von pronny31
Stimmst du mir da zu ?

Ich zumindest nicht.

Wenn du an Tabelle A die Metadaten änderst (alter table), warum sollte sich die Tabellenstruktur wieder zurückspielen duch ein Insert into?

pronny31 9. Jan 2008 15:51

Re: Optimierung einer Tabelle
 
Nein ich will jetzt in die Tabelle A meine Daten zurückspielen daher das Insert Statement !
Meine beiden Tabellen sind mitlerweile wieder identisch .... und jetzt habe ich vor alles von a nach zu kopieren b
das Bild, welches ich vorhin reingestellt habe zeigt das die Reihenfolge nicht identisch ist und ich habe gelesen das eine Änderung der Reihenfolge nur an der Systemtabelle vorgenommen werden kann und das ist ziemlich gefährlich da dies zur vollständigen Zerstörung der Datenbank führen kann ! Also denke ich das es in diesen Zustand ohne Änderung der Reihenfolge nicht möglich ist dieses Statement abzusetzen und außerdem kann man eine Änderung dieser Reihenfolge nicht via Sql - Statement korregieren !

mkinzler 10. Jan 2008 07:19

Re: Optimierung einer Tabelle
 
Zitat:

as Bild, welches ich vorhin reingestellt habe zeigt das die Reihenfolge nicht identisch ist und ich habe gelesen das eine Änderung der Reihenfolge nur an der Systemtabelle vorgenommen werden kann und das ist ziemlich gefährlich da dies zur vollständigen Zerstörung der Datenbank führen kann !
wenn du einen exklusiven Zugriff auf die DB hast, sollte es keine größeren Probleme geben.
Zitat:

Also denke ich das es in diesen Zustand ohne Änderung der Reihenfolge nicht möglich ist dieses Statement abzusetzen
Wenn du die Reihenfolge im select angibst sollte die Reihenfolge der Felder doch egal sein.
Zitat:

und außerdem kann man eine Änderung dieser Reihenfolge nicht via Sql - Statement korregieren !
Und Warum nicht? Wie glaubst du werden sie dann vom Admin-Tool geändert?

hoika 10. Jan 2008 07:31

Re: Optimierung einer Tabelle
 
Hallo,

zur Positionsänderung

http://www.ibphoenix.com/main.nfs?a=...60_altercol_fs

SQL-Code:
alter table table1 alter field1 position 3 modify field1 position 2;

Das sollte ab FB1.5 gehen.

Heiko

pronny31 10. Jan 2008 07:44

Re: Optimierung einer Tabelle
 
Bist du dir sicher das das keinen einfluß auf bestehende Datenbestände hat bzw. nichts zerstört ?
Habe gehört das sowas nicht empfohlen wird !

mkinzler 10. Jan 2008 07:48

Re: Optimierung einer Tabelle
 
Wie gesagt sollte gleichzeitig kein Zugriff auf die Datenbank erfolgen. Außerdem sollte man vor jeder Strukturänderung einer Datenbank vorher ein Backup durchführen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:07 Uhr.
Seite 4 von 5   « Erste     234 5      

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