Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi 8 Byte großes Array in MySQL DatenBank speichern (https://www.delphipraxis.net/31504-8-byte-grosses-array-mysql-datenbank-speichern.html)

SleepyMaster 10. Okt 2004 14:36


8 Byte großes Array in MySQL DatenBank speichern
 
Hi ihrs

möchte gerne sehr viele arrays speichern. Hab gelesen, dass das mit BLOB geht. Meine arrays haben aber alle eine konstante größe von 8Bytes. Gibt es eine Möglichkeit, dass ich 8 Byte große arrayes Speichern kann oder macht es nichts aus (von Geschwindigkeit/Speicherverbrauch), wenn ich ein 255 Byte großes TINYBLOB nehme?

Vielen Dank

Mamphil 10. Okt 2004 18:04

Re: 8 Byte großes Array in MySQL DatenBank speichern
 
Hi!

Wäre es (durch Umwandlung) nicht auch möglich, das Array als VARCHAR(8) zu speichern, also als String mit 8 Zeichen?
Eventuell macht es auch Sinn, den Typen CHAR(8) zu verwenden. Vergleiche dazu einfach mal http://dev.mysql.com/doc/mysql/en/CHAR.html

Mamphil

Sharky 11. Okt 2004 06:30

Re: 8 Byte großes Array in MySQL DatenBank speichern
 
Zitat:

Zitat von SleepyMaster
.... Meine arrays haben aber alle eine konstante größe von 8Bytes. ...

Hai SleepyMaster,

verstehe ich das so richtig das dein Array so deklariert ist:
Delphi-Quellcode:
var
 myArray : Array[1..8] of Byte;

SleepyMaster 11. Okt 2004 13:44

Re: 8 Byte großes Array in MySQL DatenBank speichern
 
Zitat:

Zitat von Mamphil
Wäre es (durch Umwandlung) nicht auch möglich, das Array als VARCHAR( zu speichern, also als String mit 8 Zeichen?

Nein, da ich dann c.a. den doppelten Speicherplatz benötigen würde (und bei mehreren GB an Daten macht das schon was aus)


@Sharky: Ja genau.

Sharky 11. Okt 2004 14:04

Re: 8 Byte großes Array in MySQL DatenBank speichern
 
Zitat:

Zitat von SleepyMaster
....@Sharky: Ja genau.

Hai SleepyMaster,

überlege Dir doch ein Verfahren die Bytes (mit SHL bzwl SHR) in ein "INTEGER" zu "schreiben" und dann dieses in der Tabelle zu speichern.

Jelly 11. Okt 2004 14:23

Re: 8 Byte großes Array in MySQL DatenBank speichern
 
Ein Byte nimmt nicht mehr Speicher weg wie ein Char... Was spricht also dagegen ein Datentyp von char(8) in der DB zu nehmen...

Blobs nehmen mehr Speicher weg und machen die DB langsam. Ausserdem kannst du nicht in Blobs suchen, zumindest nicht direkt über SQL. Blobs machen nur dann Sinn wenn es sich
a) um große Datenmengen handelt
b) du nicht weisst, wie gross die Daten sein können.

franktron 11. Okt 2004 14:25

Re: 8 Byte großes Array in MySQL DatenBank speichern
 
Warum beschränkst du das Blobfeld nicht einfach auf 8 Byte.

Jelly 11. Okt 2004 14:27

Re: 8 Byte großes Array in MySQL DatenBank speichern
 
Zitat:

Zitat von franktron
Warum beschränkst du das Blobfeld nicht einfach auf 8 Byte.

Geht das denn? Das will ich sehen. :stupid:

franktron 11. Okt 2004 14:30

Re: 8 Byte großes Array in MySQL DatenBank speichern
 
TINYBLOB(8) :-D

Sharky 11. Okt 2004 14:32

Re: 8 Byte großes Array in MySQL DatenBank speichern
 
Zitat:

Zitat von Jelly
...Was spricht also dagegen ein Datentyp von char(8) in der DB zu nehmen...

Hai Jelly,

ich hatte ein Integer (je nach DB 4-8 Byte) vorgeschlagen weil ich nicht weiss wie die DB/Delphi reagiert wenn versucht wird ein #0 einzutragen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:32 Uhr.
Seite 1 von 2  1 2      

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