MySQL: max. Größe von BLOBs

  • #1
M

Michael_B

Bekanntes Mitglied
Themenersteller
Dabei seit
21.09.2002
Beiträge
860
Reaktionspunkte
0
Ort
Köln
Hallo Leutz,

das hier war mein Ursprüngliches Problem (nur, falls es jmd. interessiert):

Kurze Zusammenfassung:
- Ablegen einer PDF-Datei als BLOB in der Datenbank
- Anzeigen einer in der DB gespeicherten PDF

Jetzt habe ich feststellen müssen, dass Dateien, die größer als 64KB sind, in der DB quasi einfach abgeschnitten werden.... Wenn ich also eine 1,5 MB große PDF in die DB schreiben will, geht das auch (vorausgesetzt der Wert für max_allowed_packet ist genügend groß, sonst würde er aber auch schon beim INSERT-Query meckern).
Export in die DB funktioniert also ohne Fehlermeldungen. Will ich mir die Datei dann anzeigen lassen, bekomme ich vom Browser (bzw. von dessen PDF-Plugin die Meldung, die Datei sei kaputt und können nicht repariert werden. Schaue ich mir den Datensatz dann via PhpMyAdmin an, steht als Wert für das Attribut, das die Daten der pdf enthält, [BLOB - 64,0 KB]. Dass der da nicht alles anzeigt ist ja klar, aber eigentlich müsste die größe des BLOBs doch irgendwo bei 1500 KB stehen...

Die MySQL Doku habich mir auch schon angesehen, da steht IMO nix darüber drin (oder ich bin blind). BTW sind doch 64 KB für ein Binary Large Object etwas wenig oder nicht?

Frage: gibt es einen anderen Typ als BLOB indem ich größere binäre Datenmengen speichern kann? Oder kann ich vll. in der INI-Datei von MySQL irgendwo festlegen, wie groß BLOBs sein dürfen?

THX in advance
M.
 
  • #2
BLOB => max. 64 KB
LONGBLOB => max. 4 GB



Davon abgesehen halte ich es, wie im anderen Thread schon angemerkt, für nicht sehr Klug die PDF's in der DB zu speichern.

Wenn du jetzt kommst und sagst die *.pdf haben 1,5 MB (ok mal mehr mal weniger), dann muss ich allerdings meine Aussage etwas berichtigen da ich es nun für DUMM halte dieses so zu praktizieren.

Wenn allerdings dein Chef meint, er müsse das unbedingt so haben, kann ihm nicht geholfen werden.


gruss conny

PS: gib uns mal bescheid wie lange es dauert bis er seine Meinung ändert ;) ;)
 
  • #3
Ich habe mir im letzten Thread explizit verkniffen zu meckern. Denn ich wusste das früher oder später dieses Problem auftauchen würde. Mein Chef hatte mal ne ähnliche Idee. Hat das dann aber nach den ersten Problemen und schiefen blicken eines Externen Spezialisten (der man ist wirklich ein GOTT was Datenbanken betrifft) und ein paar kurzen Erklärungen dann doch gelassen. Eine Datenbank ist einfach nicht dazu gemacht solche Daten aufzunehmen! IMHO wurden diese Möglichkeiten für BLOB und LONGBLOB nur geschaffen um in WENIGEN Ausnahmefällen Daten zentral vorzuhalten. IHR macht diese Ausnahme aber zum Regelfall. Übrigens ist uns damals der Admin des Datenbankservers ins Genick gesprungen weil die Performance wohl ganz übel darunter leidet. Setz einen Link auf die PDF's in die Datenbank und gut ist!
 
  • #4
Achso, hier übrigens mal ein kurzer Überblick über Vor und Nachteile von BLOBs. Im Gegensatz zu Conny war ich nicht zu faul zum suchen  ;D Allerdings auch zu faul und nicht mehr genau im Bilde um es selber zu verfassen.



P.S. Wenn es sich um eine MySQL Datenbank handelt hast du übrigens die Auswahl zwischen

Datentyp max. Speicherplatz (in Bytes)
TINYBLOB 255
BLOB 65.535
MEDIUMBLOB 16.777.215
LONGBLOB 4.294.967.295

Musst also nicht zwangsläufig auf LONGBLOB ausweichen. Das wäre mit Kanonen auf Spatzen schiessen.
 
  • #5
Danke, werd mich mal revanchieren
schaemdich.gif
 
  • #6
Conny schrieb:
Danke, werd mich mal revanchieren
schaemdich.gif

Och Conny :-[ das war doch net böse gemeint. Musst du immer alles so ernst nehmen :(

Ich hab doch selbst oft genug faule Tage, das nimmt dir und mir sicher keiner übel.

Trotzdem ein großes Entschuldigung von mir :( *sichschämt*
 
  • #7
Okay. Danke für die Infos... Dass es eine saumäßig schlechte Idee ist, die Daten als BLOB in der Datenbank zu halten, weiss ich. Hab meinen Chef jedoch noch nicht davon überzeugen können, diese Idee in den geistigen Papierkorb zu verschieben...
Naja, ich denke, die Links werden mir noch einige Argumente für eine weitergehende Diskussion liefern.

Vielen Dank
M.
 
Thema:

MySQL: max. Größe von BLOBs

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben