Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Reihenfolge des Eintragens in Tabelle ohne PK (https://www.delphipraxis.net/163728-reihenfolge-des-eintragens-tabelle-ohne-pk.html)

omata 13. Okt 2011 22:27

AW: Reihenfolge des Eintragens in Tabelle ohne PK
 
Zitat:

Zitat von Valle (Beitrag 1130354)
Das kann gar nicht sein. Es muss mindestens mal mitgespeichert werden, wie lang der String ist!

Nein! Du bekommst beim Auslesen 100 Zeichen zurück.

mkinzler 13. Okt 2011 22:33

AW: Reihenfolge des Eintragens in Tabelle ohne PK
 
U.U. belegt ein Varchar aber sogar mehr.
http://ibexpert.net/ibe/index.php?n=Doc.CHAR

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

omata 13. Okt 2011 22:39

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.

tsteinmaurer 13. Okt 2011 23:17

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.

Valle 13. Okt 2011 23:18

AW: Reihenfolge des Eintragens in Tabelle ohne PK
 
Zitat:

Zitat von omata (Beitrag 1130356)
Zitat:

Zitat von Valle (Beitrag 1130354)
Das kann gar nicht sein. Es muss mindestens mal mitgespeichert werden, wie lang der String ist!

Nein! Du bekommst beim Auslesen 100 Zeichen zurück.

Mh, ich glaube wir reden aneinander vorbei. Was ich sagen wollte: Wenn man in ein VARCHAR(100) Feld nur ein Zeichen speichern würde, dann ist es technisch gar nicht möglich, dass nur ein Byte verwendet wird. Immerhin muss man ja wissen wann der String aufhört. Trägt aber nicht wirklich zum Thema bei...

Liebe Grüße,
Valentin

omata 13. Okt 2011 23:19

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))

tsteinmaurer 13. Okt 2011 23:26

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.

hoika 18. Okt 2011 18:27

AW: Reihenfolge des Eintragens in Tabelle ohne PK
 
Hallo,

um mal wieder zu meiner Frage zurückzukommen ...


Heiko

omata 18. Okt 2011 18:32

AW: Reihenfolge des Eintragens in Tabelle ohne PK
 
Zitat:

Zitat von tsteinmaurer (Beitrag 1130283)
Nein, das bekommt man nicht hin.

Die Frage war doch schon beantwortet :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:33 Uhr.
Seite 2 von 2     12   

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