16. juni 2009 - 00:14Der 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!
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).
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.
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 ;) )
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.
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 :)
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.
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.