Avatar billede nicolailissau Nybegynder
16. juni 2009 - 00:14 Der er 8 kommentarer og
2 løsninger

Det evige spørgsmål: At gemme billeder som filer eller i MySQL database?

Hej Eksperter.

Jeg sidder og laver en lille sjov applikation. Til det skal jeg bruge nogle forskellige billeder, der skal hentes af et AJAX script og behandles af noget JavaScript.

Jeg ville først gemme billederne i databasen, men efterhånden som jeg surfede stødte jeg på voldsomme debatter uden ende, om hvorledes dette er en god ide eller ej.

Jeg kan ikke finde ud af hvad der er mest hensigtsmæssigt: At gemme billeder som filer eller i MySQL database. Jeg er stødt på følgende:

- Det kan betale sig at gemme billeder i MySQL database, hvis filerne er under 5 mb

- Hentningshastigheden af billederne afhænger af hvordan du har formet din forespørgsel. F.eks. ikke bruge SELECT * FROM, hvis du blot skal bruge et billede. Hvis forespørgslen foretages ordentligt, foregår hentningen af filer fra databasen, og filer fra serveren ved samme hastighed. 

- At gemme billeder i database er besværligt, uhensigtsmæssigt og burde aldrig være præsenteret.

Jeg vil gerne høre jeres egne erfaringer på området og gode råd :)

Jeg takker på forhånd, og appellerer allerede nu til en pæn diskussion, uden bandeord!

Mvh
Nicolai
Avatar billede repox Seniormester
16. juni 2009 - 08:59 #1
De argumenter du fremhæver er virkeligt dårligt udformede.
Det kan betale sig at gemme billeder i MySQL database, hvis filerne er under 5 mb
Hvordan kan de betale sig? Hvorfor går grænsen ved fem Mb?

[...] Hvis forespørgslen foretages ordentligt, foregår hentningen af filer fra databasen, og filer fra serveren ved samme hastighed.
Hvad er en 'ordentlig forespørgsel'? 'SELECT image FROM table WHERE imageId = x LIMIT 1' måske?

At gemme billeder i database er besværligt, uhensigtsmæssigt og burde aldrig være præsenteret
Hvorfor ikke?

Personligt gemmer jeg ikke billeder i en database. Årsagen til det er at jeg ikke har set noget formål i det. Der er ikke noget der taler for eller imod idéen udover folks personlige holdninger omkring emnet. Jeg er vant til at billeder er fysiske filer jeg kan flytte rundt på og arbejde med - derfor lægger jeg dem ikke i en database.

Men gør hvad du selv mener er den løsning du har behov for; det kunne jo være det du fik lavet noget smart; eller måske finder du ud af senere at det var ufleksibelt (uanset om det er database eller fysiske filer).

Det er en vanesag, tror jeg...
Avatar billede majbom Novice
16. juni 2009 - 10:51 #2
den eneste ulempe jeg lige kan komme på er hvis database-server og webserver ikke har verdens bedste forbindelse, så kunne det tage længere tid at hente et billede i forhold til hvis det lå i samme mappe som dine sider.
Avatar billede repox Seniormester
16. juni 2009 - 10:57 #3
Ja, det var jo egentlig et godt argument - men det vil jo typisk kun forekomme på servere hvor webserveren og databasen ikke ligger på samme maskine. Altså, de der webhoteller til halvenden krone om året (eller hvordan det er ;) )
Avatar billede majbom Novice
16. juni 2009 - 11:14 #4
ja, som regel kører db jo localhost, men ellers kan jeg ikke komme på nogle ulemper - jeg er ikke inde i billeder i mysql - men umiddelbart er jeg også tilhænger af at opbevare billederne som filer.
Avatar billede nicolailissau Nybegynder
16. juni 2009 - 15:21 #5
Repox, de ting jeg remsede op var blot udtalelser jeg er stødt på rundt om på nettet.. ikke mine egne, og derfor ikke begrundede.. Ellers ville jeg jo nok vide hvad det var jeg ville :)

Men tak for kommentarer.

Flere kommentarer modtages gerne :)
Avatar billede superb Nybegynder
16. juni 2009 - 17:03 #6
Jeg ville aldrig gemme billederne i en database, hvis du pludselig skal bruge dem til noget andet, omstrukturere e.l er det meget nemmere bare at have henvisninger til billederne istedet for selve billederne liggende, derudover hvis du har rigtig mange billeder bliver det jo også en tilsvarende tung database, hvor hvis du bare har en lille tekststreng er den ikke så tung at søge i.
Avatar billede nicolailissau Nybegynder
17. juni 2009 - 14:21 #7
Tak for kommentarer. Vil i smide svar?

Mvh
Avatar billede repox Seniormester
17. juni 2009 - 18:03 #8
her er mit.
Avatar billede majbom Novice
17. juni 2009 - 19:26 #9
kommer her

og selv tak - håber du blev klogere :)
Avatar billede majbom Novice
22. juni 2009 - 08:32 #10
takker :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester