Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Meglio memorizzare le immagini nel DB o no?

    ciao a tutti, volevo porvi questa domanda:
    E' meglio memorizzare le immagini direttamente nel DB come file binari o è meglio memorizzare nel DB solo nome e percorso?
    Quello che mi interessa non sono le preferenze personali, che ognuno di noi ha, ma i casi e limiti dove è preferibile utilizzare una o piuttosto l'altra soluzione, tenendo in considerazione il fatto che il campo di tipo longblob può contenere fino a 4,2 Gigabyte di dati e se ciò è previsto ci sarà un motivo.

  2. #2
    in un caso appesantisci il database, nell'altro hai bisogno dei permessi in scrittura nella cartella delle immagini.

    Io preferisco salvare i file su file system, specie se sono immagini che saranno incluse su pagine web, per sveltire la restituzione saltando un passaggio, ma dipende appunto dalle tue esigenze.

    La mia risposta quindi è "boh"

    Dipende.

    Diciamo che, andando per esclusione, se non ci fosse un valido motivo che mi costringesse a metterle sul DB, io le terrei su file system.

  3. #3
    da non sottovalutare che (se paghi un db in base alle dimensioni acquistate) aumentano notevolmente le dimensioni inserendo file binari e potresti arrivare in poco tempo al tetto massimo che hai acquistato

    io salvo tutte le immagini di cui faccio l'upload in una directory e le chiamo FOTOxxx.jpg dove xxx è l'id di inserimento del record nel database (la foto 1 si chiama FOTO1.jpg e si riferisce al record con id 1).

    PS con mysql_insert_id(), se non dovessi saperlo, ti restituisce l'id dell'ultimo record inserito nel DB


  4. #4
    Le immagini secondo me è il caso limite ci sono pro e contro, io le tengo fuori perchè non appesantiscono il DB e rende più semplice l'attività di backup del db.

  5. #5
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    Io le tengo dentro e devo dire che anche se il db ha dimensioni maggiori, non ho notato abbassamenti di prestazioni.

    Pro:
    - con un mysqldump ho in un unico file tutto il backup, comprese le foto
    - non ci sono i problemi dei permessi delle cartelle di salvataggio dei file

    Contro:
    - la dimensione del mysqldump è maggiore.
    - gli script all'inizio sono un po' più complessi

    Io personalmente faccio dei mysqldump remoti giornalieri automatici escludendo le tabelle delle immagini per allegerire il trasferimento, mentre il backup di tutto lo faccio solo mensilmente.

  6. #6
    io solitamente preferisco gestire i files direttamente sul filesystem. Lo faccio sostanzialmente per non dover gestire db molto grandi.
    In passato ero solito gestirli su db pure io ma da quando alcuni clienti mi caricavano anche pdf da diversi mega la cosa è diventata ingestibile e allora sono passato alla gestione sul server.
    Mantengo comunque traccia sul db di quanto mi viene caricato sul server.
    Di solito mi tengo una tabella in cui ho il nome del file con la rispettiva url assoluta e tutte le variabili che lo riguardano [tipo, dimensione...], poi un campo timestamp che quindi mi si aggiorna da solo ad ogni accesso.

    In questo caso il db è molto più leggero e mi occupa al massimo diversi kb, e poi lavorare sul server mi risulta comunque molto più agile, semplice e veloce. Poi comunque penso vada molto anche a oggettività.



    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.