Hi guys..

Ik heb het volgende probleem:
Ik ben een tabel waarin ik afbeeldingen kan opslaan: een MEDIUMBLOB.
in een Mediumblob kun je tot 16MB opslaan, maar nu heeft deze al moeite met een afbeelding van (1.057.375 bytes).
ik krijg dan de error: 1153 - Got a packet bigger than 'max_allowed_packet' maar deze had ik al verhoogd van 1048576 (1024*1024 = 1MB) naar 2097152 (1024*1024*2 = 2MB).

mysql> set max_allowed_packet = 2097152;
linux# service mysqld restart

Maar dit werkt nog steeds niet...
Weet iemand wat er aan de hand is, en een mogelijke oplossing???

Thanks in advance.

de beste oplossing is niet de images opslaan daarin, maar het pad ernaartoe
@wes: Je hebt ergens gelijk, maar dat is een workaround. ;-)

Ik ben een tabel waarin ik afbeeldingen kan opslaan: een MEDIUMBLOB.


Ik denk dat dat je probleem is ;)

Even zonder dollen. Zelf gebruik ik altijd LONGBLOB. Probeer dit eens zou ik zeggen
@jim, ik vind het meer de standaard eigenlijk. Waarom het jezelf moeilijker maken dan het is
wes schreef op 07.06.2007 14:38
@jim, ik vind het meer de standaard eigenlijk. Waarom het jezelf moeilijker maken dan het is


@wes: 'In my opinion: files suck!!' ik sla zoveel mogelijk op in de database. En de mogelijkheid voor afbeeldingen is er ook, en waarom die dan niet gebruiken???
omdat die dingen niet voor mekaar zijn gemaakt.

een auto parkeer je toch ook niet in je woonkamer
BLOB staat volgens mij voor Binary Large OBject. Dus volgens mij ook bedoeld voor afbeeldingen.

Maar een verder een idee???
Een database is in principe niet bedoeld om plaatjes/bestanden in op te slaan, ook al bestaat die mogelijkheid wel.

Je database wordt er alleen maar onnodig groot en straks ook traag door als je volledige bestanden erin op gaat slaan. Hij is er eigenlijk alleen voor bedoeld om data in de vorm van tekst in op te slaan, meer niet!

Ik zou het echt nooit op deze manier oplossen en zou je dan toch ook echt aanraden om de bestanden in een bepaalde directory te zetten en alleen de bestandsnaam op te nemen in je database. Dat komt de snelheid van je website zeker ten goede.

ps. Lees hier ook eens dat er wel beperkingen aan kunnen zitten die de prestatie van je website zeker kunnen beinvloeden.
Ik vind het opslaan van bestanden in een database helemaal niet verkeerd, alleen die back-up wordt zo groot. Tegenwoordig gebruik ik het ook niet echt meer, maar doe ik het zoals Wes zegt, of gewoon in een map die ik later kan uitlezen...

Maar goed, weet je zeker dat je de waarde goed hebt gezet? In de MySQL docs staat bijvoorbeeld 16M en niet 16777216 (zoals jij het uitlegt met je 1024*1024*2).

Elwin
@Blanche: Waar zou je blob's dan wel voor moeten gebruiken???
Verder lijkt het mij dat als je de database goed onderhoud, de vertraging niet zo groot hoeft te zijn. Daarnaast blijft je ook afhankelijk van je query.

Gebruik bijv. geen SELECT * FROM.... of SELECT a.*, b.ID FROM alias AS a.....

Specificeer altijd de kolommen, dat scheelt ook enorm.

Reageren