![]() |
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 |
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 ![]() Mamphil |
Re: 8 Byte großes Array in MySQL DatenBank speichern
Zitat:
verstehe ich das so richtig das dein Array so deklariert ist:
Delphi-Quellcode:
var
myArray : Array[1..8] of Byte; |
Re: 8 Byte großes Array in MySQL DatenBank speichern
Zitat:
@Sharky: Ja genau. |
Re: 8 Byte großes Array in MySQL DatenBank speichern
Zitat:
überlege Dir doch ein Verfahren die Bytes (mit SHL bzwl SHR) in ein "INTEGER" zu "schreiben" und dann dieses in der Tabelle zu speichern. |
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. |
Re: 8 Byte großes Array in MySQL DatenBank speichern
Warum beschränkst du das Blobfeld nicht einfach auf 8 Byte.
|
Re: 8 Byte großes Array in MySQL DatenBank speichern
Zitat:
|
Re: 8 Byte großes Array in MySQL DatenBank speichern
TINYBLOB(8) :-D
|
Re: 8 Byte großes Array in MySQL DatenBank speichern
Zitat:
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. |
Re: 8 Byte großes Array in MySQL DatenBank speichern
Zitat:
Grrrr.... diese Smilies.... :twisted: |
Re: 8 Byte großes Array in MySQL DatenBank speichern
OK! Das mit dem char klappt meiner Meinung nach am besten/einfachsten - nur könnte ich mir eher vorstellen, dass das mit den Integern schneller geht (auch wenn die Datenmenge die gleiche ist). Oder was meint ihr dazu?
|
Re: 8 Byte großes Array in MySQL DatenBank speichern
Ist das sowios nicht egal da MySQl die größe nicht Dynamisch verteilt und somt das Blob nur so gross wie die Daten darin ist ????.
So stehts zumin. in der Doko |
Re: 8 Byte großes Array in MySQL DatenBank speichern
Zitat:
|
Re: 8 Byte großes Array in MySQL DatenBank speichern
Hi!
Ich meinte mit "Umwandlung in einen String" nicht, dass du die z. B. einzelnen Zahlen in einen String umwandelst, sondern dass du z. B. eine 8-Bit-Zahl einfach durch das entsprechende Zeichen ersetzt. Du meintest, dein Array belegt 8 Byte. Es gibt auch Strings, die genau 8 Byte belegen - man müsste also den Inhalt des Arrays (von den einzelnen Bits und Bytes her) einfach auch als String auffassen können. Mamphil |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:04 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