Delphi-PRAXiS
Seite 3 von 5     123 45      

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)

pronny31 9. Jan 2008 13:05

Re: Optimierung einer Tabelle
 
Ja es geht mir jetzt aber auch um den Aufbau dieser Tabelle und warum er dieses Lücken hat und die Tabelle hat sie 100 %!
Weil wenn ich explizit die Spaltennamen angebe geht es mache ich aber * kommt diese Fehlermeldung !
Ich habe den eindruck das Firebird bei der angabe * einfach annimmt das alles in der selben reihenfolge ist und dadurch der Fehler zustande kommt !

RavenIV 9. Jan 2008 13:13

Re: Optimierung einer Tabelle
 
Zitat:

Zitat von pronny31
Ja es geht mir jetzt aber auch um den Aufbau dieser Tabelle und warum er dieses Lücken hat und die Tabelle hat sie 100 %!
Weil wenn ich explizit die Spaltennamen angebe geht es mache ich aber * kommt diese Fehlermeldung !
Ich habe den eindruck das Firebird bei der angabe * einfach annimmt das alles in der selben reihenfolge ist und dadurch der Fehler zustande kommt !

Mann, Mann, Mann. :-(

Das, was Du im IBExpert siehst, ist der logische Aufbau der Tabelle.
Die Lücken stellt der IBExpert eben so dar.
Wie willst Du sehen, wie die Tabelle intern von der DB verwaltet wird?

Warum der Fehler bei der Sache mit dem * kommt kann ich Dir auch sagen.
Die Felder der Tabelle sind unterschiedlich beim Datentyp, ausserdem ist die Anzahl Felder unterschiedlich, weiterhin gibt es in der einen Tabell manche Felder der anderen Tabelle nicht.

Les Dir nochmal die Beiträge meiner Vorredner durch und überleg vorher, was Du von Dir gibst.

mkinzler 9. Jan 2008 13:24

Re: Optimierung einer Tabelle
 
Zitat:

Ich habe den eindruck das Firebird bei der angabe * einfach annimmt das alles in der selben reihenfolge ist und dadurch der Fehler zustande kommt !
Nein Firebird liest diee felder aus der Systemtabelle aus. Später erzeugte felder sind dort natürlich weiter hinten, deshalb ist die logische Reihenfolge der beiden Tabellen verschieden.

pronny31 9. Jan 2008 13:29

Re: Optimierung einer Tabelle
 
Bevor ich hier was reinstelle überlege ich mir schon was ich sage !
Ich habe Prozeduren geschrieben die die Gleichheit bezogen auf die Struktur und Feldnamen prüft , welche ergeben hat das alles Korrekt ist ! Ihr solltet schon mal lesen was ich schreibe und erst dann Urteilen !!

RavenIV 9. Jan 2008 13:32

Re: Optimierung einer Tabelle
 
Zitat:

Zitat von pronny31
Bevor ich hier was reinstelle überlege ich mir schon was ich sage !
Ich habe Prozeduren geschrieben die die Gleichheit bezogen auf die Struktur und Feldnamen prüft , welche ergeben hat das alles Korrekt ist ! Ihr solltet schon mal lesen was ich schreibe und erst dann Urteilen !!

Dann extrahier mal die Metadaten der beiden Tabellen und vergleiche diese miteinander.
Wenn Du alles richtig machst, dann kannst Du z.B. mit ExamDiff die Unterschiede feststellen.

hoika 9. Jan 2008 13:37

Re: Optimierung einer Tabelle
 
Hallo,

> Ich habe Prozeduren geschrieben die die Gleichheit bezogen <
> auf die Struktur und Feldnamen prüft , welche ergeben hat das alles Korrekt ist >

Struktur <> Reihenfolge der Felder

mache einfach mal was ich gesagt habe (select * und Reihenfolge ändern).


Heiko

pronny31 9. Jan 2008 14:04

Re: Optimierung einer Tabelle
 
Zitat:

mache einfach mal was ich gesagt habe (select * und Reihenfolge ändern)
ja wie ohne die Datenbank bzw. tabellen neu anzulegen ?
es kann ja durchaus sein das bei einem Volumen von ca. 40 - 50 Mio Datensätzen es etwas länger dauert :coder2:
mach mal bitte einen Vorschlag

mkinzler 9. Jan 2008 14:09

Re: Optimierung einer Tabelle
 
Du brauchst doch die Abfrage mit Feldliste nur einmal erstellen und kannst das Skript dann abspeichern

Jelly 9. Jan 2008 14:22

Re: Optimierung einer Tabelle
 
Also ich behaupte jetzt mal ganz einfach.... NUTZE NIEMALS EIN SELECT * FROM ...
sondern gebe immer alle Feldnamen an, auch wenn es 168 sind.

Die Zeit, die durch diesen Thread schon verplempert wurde, um dein Problem zu schildern, währenddessen hättest du die 168 Feldnamen schon 10 mal sogar händisch eingetippt.

pronny31 9. Jan 2008 14:53

Re: Optimierung einer Tabelle
 
Das stimmt schon mir ging es eben auch um den Hintergrund (Datenbanksystemtechnisch) und ich wollte eben eine logische Erklärung haben. Ich dachte es kennt jemand die genauen Gründe dafür und kann mir dabei helfen !
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 !

Zitat:

Dann extrahier mal die Metadaten der beiden Tabellen und vergleiche diese miteinander.
Wenn Du alles richtig machst, dann kannst Du z.B. mit ExamDiff die Unterschiede feststellen.
Mmh was soll man darauf antworten !

Dann kamen Hinweise bezüglich des Aufbaus der Datenbank . Ich Rede hier von einer Datenbank die ca 40-50 Millionen Datensätze hat und ansonsten auch hervoragend funktioniert und man sagt mir ich sollte den Aufbau der Datenbank überdenken .

Zitat:

Die Bezeichnung Bez1, Bez2 usw. lässt aber auf mangelnde Normalisierung Tippen.
Diese Hinweise und Antworten haben mit meiner Fragestellung nichts zu tun !

Naja ich habe jetzt beschlossen die Feldnamen manuell zu übergeben und das Statement anschließend auszuführen !


Ich danke all denen die sich ernsthaft damit beschäftigt haben und sinnvolle Beiträge verfasst haben !!!!!!!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:27 Uhr.
Seite 3 von 5     123 45      

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