![]() |
Datenbank: Firebird • Version: 2 • Zugriff über: IBDAC
Reihenfolge des Eintragens in Tabelle ohne PK
Hallo #,
ich habe eine Tabelle mit Namen (Name Char(100)). Ich benötige jetzt die Reihenfolge, in der diese Namen in die Tabelle gekommen sind (das mit den Namen ist nur ein Bsp.) Geht das über den ominösen rdb$db_key ? Die DB könnte auch per Restore wiederhergestellt worden sein. Bekommt man das nachträglich noch hin ? Danke Heiko |
AW: Reihenfolge des Eintragens in Tabelle ohne PK
Nein, das bekommt man nicht hin. Nur wennst die Ausgangsmenge als Liste etc. vor dir hast, darum immer einen PK mit Generator befüllt. :-D
|
AW: Reihenfolge des Eintragens in Tabelle ohne PK
Sobald ein datensatz gelsöcht wurde, entsteht eine Lücke ( spaätestens beim nächsten Sweep). Diese wird dann wieder gefüllt.
|
AW: Reihenfolge des Eintragens in Tabelle ohne PK
Hallo,
hatte ich mir schon gedacht ;( Heiko |
AW: Reihenfolge des Eintragens in Tabelle ohne PK
Zitat:
CHAR speichert immer die maximale Zeichenanzahl (Nicht vorhandene Zeichen werden mit Leerzeichen aufgefüllt). Für Datenfelder verwendet man immer VARCHAR! |
AW: Reihenfolge des Eintragens in Tabelle ohne PK
Auch bei VARCHAR wird die maximale Anzahl belegt
|
AW: Reihenfolge des Eintragens in Tabelle ohne PK
Nein, wenn ich VARCHAR(100) definiere und ich nur ein Zeichen ablege, wird auch nur Speicher für das eine Zeichen benötigt. Bei CHAR(100) und ablegen von einem Zeichen werden 100 Zeichen abgespeichert.
|
AW: Reihenfolge des Eintragens in Tabelle ohne PK
Es wird nur die belegte Anzahl übertragen. In der DB wird aber die maximale Anzahl an Stellen belegt.
|
AW: Reihenfolge des Eintragens in Tabelle ohne PK
Zitat:
Liebe Grüße, Valentin |
AW: Reihenfolge des Eintragens in Tabelle ohne PK
@mkinzler: Das habe ich auch so gemeint. Und das ist schlecht. Warum Leerzeichen abspeichern, die man dann wieder mit trim entfernen muss! Und warum die Datenbank künstlich aufblähen? Für Daten immer VARCHAR, nirmals CHAR verwenden. CHAR bietet sich für Schlüssel an (wenn diese mal nicht nummerisch sein können).
|
AW: Reihenfolge des Eintragens in Tabelle ohne PK
Zitat:
|
AW: Reihenfolge des Eintragens in Tabelle ohne PK
U.U. belegt ein Varchar aber sogar mehr.
![]() Am Besten ist ein Textblob, dort wird nur der wirklich benötigte Platz belegt und bei neueren Firebirdversionen kann man auf einen Textblob der weniger als 32K belegt auch äquivalent zu CHAR/VARCHAR zugreifen |
AW: Reihenfolge des Eintragens in Tabelle ohne PK
Ok, Firebird arbeitet da also anders. Ich bin vom Standard ausgegangen. Oracle, MSSQL und MySQL machen das anders. Also gelten die normalen Regeln für Datenbanken, in diesem Fall, bei Firebird nicht.
Entschuldigung für meine sinnlosen Beiträge. |
AW: Reihenfolge des Eintragens in Tabelle ohne PK
Das mit CHAR/VARCHAR und vollständige Speicherung stimmt überhaupt nicht. :-D Im Gegenteil, die interne RLE Komprimierung macht das Ganze nochmals kleiner. Es hat noch zu InterBase 6 bzw. AFAIK Firebird 1.0 Zeiten das Problem gegeben, dass ein CHAR/VARCHAR in voller Länge übers Netzwerk ging, aber das ist lange her. Und die 2 Bytes, die ein VARCHAR mehr braucht als CHAR ist rein darin begründet, dass man sich irgendwo die Länge des VARCHARs ablegen muss, darum ist die max. Länge eines VARCHARs auch 32765 und eines CHARs 32767.
|
AW: Reihenfolge des Eintragens in Tabelle ohne PK
Zitat:
Liebe Grüße, Valentin |
AW: Reihenfolge des Eintragens in Tabelle ohne PK
@tsteinmaurer: Ich habe überhaupt nicht über das Netzwerk gesprochen! Aber wie auch immer, Firebird handhabt das also anders als andere Datenbanken.
@Valle: Meine Güte, wo steht die Goldwage? So genau wollte ich nun doch gar nicht sein. Es ging ums Grundsätzliche (und meine Aussage gilt auch bei allen anderen Datenbanken (wobei "alle" natürlich jetzt wieder ein Angriffspunkt ist)) |
AW: Reihenfolge des Eintragens in Tabelle ohne PK
@omata: Hatte auch Markus gegolten, dass das mit der Speicherung Quatsch ist. :-D
@Valentin: Darum legt Firebird bei einem VARCHAR in den ersten beiden Bytes auch die Länge des tatsächlichen Strings ab. |
AW: Reihenfolge des Eintragens in Tabelle ohne PK
Hallo,
um mal wieder zu meiner Frage zurückzukommen ... Heiko |
AW: Reihenfolge des Eintragens in Tabelle ohne PK
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz