Sto costruendo un'applicazione basata su una singola tabella con una colonna con testo. Occasionalmente, una colonna adiacente avrà un'immagine. È meglio memorizzare questa immagine come un BLOB in SQLITE o dovrei memorizzarli sul file system e farli riferimento ai miei programmi. Grazie!SQLITE Blob OR file system per immagini
risposta
EDIT:
abbiamo capito che volevi dire per l'ambiente iPhone in particolare. In tal caso, userei il DB solo per la semplicità di avere tutto il contenuto in un unico posto. Non ti devi preoccupare della scalabilità perché non è come il tuo iPhone sarà usato come server o altro.
risposta originale:
Non ho alcun legame a sostegno di questo, ma io non ricordo di aver letto in diversi studi che la "tagliata" è di 1 MB per l'efficienza blob. Ma questo può essere spostato fino a 10 MB con un array di dischi abbastanza veloce. Dipende totalmente dal sistema.
Quindi, dato il limite di efficienza, qualsiasi dato più piccolo di quello sarebbe meglio servito dal DB, qualcosa di più grande, basta indicizzare nel DB e lasciare in una cache di file.
Sta usando iPhone, quindi il disco stesso non è aggiornabile. – Kevlar
ahh, non ho visto quella parte. –
Dipende davvero dalla vostra applicazione. Avere le immagini memorizzate in un database renderà la tua vita più facile in quanto li avrai prontamente accessibili in un singolo punto invece di averli in file separati che potrebbero scomparire. D'altra parte, molte immagini, che sono piuttosto grandi, potrebbero rivelarsi troppo per un database SQLITE. Nella tua situazione vorrei semplicemente fare riferimento a loro nel database.
I file causeranno meno problemi a lungo termine. Davvero non vuoi servire moltissimi file dal tuo server di database specialmente quando ridimensiona
I file semplificheranno il caricamento delle immagini in modo efficiente. Se usi [UIImage imageNamed: @ "blah.png"] caricherà l'immagine in RAM non cancellabile e la caricherà/scaricherà dal file quando necessario (cioè quando non è più visualizzabile e hai una memoria ristretta, viene eliminata e quindi ricaricato quando è nuovamente visualizzabile) – Gabe
Wow ... quindi l'API è accoppiata al file system e non un tipo astratto? ... –
Mi piace conservare le immagini nel file system perché UIImage può memorizzare nella cache i file di immagine & scaricandoli automaticamente dalla memoria quando necessario. Basta fare attenzione a non modificare o eliminare un file immagine che viene caricato in una UIImage o si verificherà un arresto anomalo o altri bug strani.
Supponendo che le immagini che si intende utilizzare non siano estremamente grandi e che non esista un numero esorbitante di esse vorrei andare con il database.
Attualmente sto utilizzando un database Sqlite su diversi dispositivi Windows Mobile e WinCE con oltre 10.000 piccole immagini memorizzate come BLOB e funziona perfettamente.
Ho visto un software simile al nostro in esecuzione sullo stesso hardware utilizzando il caricamento dell'immagine basato su file ed è stato notevolmente più lento. Naturalmente questo era su WinCE e diversi software, quindi non è il test migliore.
Trovo che il singolo database sia molto più facile da utilizzare rispetto a molti file di immagine.
- 1. SQLite Inserimento blob C++
- 2. Memorizzazione delle immagini: MongoDb vs File System
- 3. Sqlite: come eseguire il cast (dati come TEXT) per BLOB
- 4. Scrittura blob da SQLite su file utilizzando Python
- 5. Controllo versione delle immagini caricate sul file system
- 6. Converti blob in file
- 7. Carica immagini da ASP.NET al file system Godaddy
- 8. memorizzano le immagini nella banca dati o su file system
- 9. Android Salva oggetto come blob in sqlite
- 10. Il caricatore di immagini universali per Android può funzionare con immagini da sqlite db?
- 11. File system distribuito per. NET
- 12. SQLite - È possibile inserire un BLOB tramite istruzione di inserimento?
- 13. Recupera blob di grandi dimensioni dal database sqlite di Android
- 14. inserimento blob in sqlite dal browser safari utilizzando html5
- 15. Differenze tra BLOB BLOB BLOB BLOB e BLOB della pagina?
- 16. App Chrome: come salvare il contenuto blob in file System in background?
- 17. Ottieni restrizioni file system
- 18. File system in memoria per Windows
- 19. Strutture dati utilizzate per creare file system?
- 20. Crittografia del file system per IOS?
- 21. Dimensione blocco file system
- 22. Come aggiornare a tratti un blob in SQLite?
- 23. Scansione virus dei binari - Blob contro file
- 24. Inserisci file in mysql Blob
- 25. java.lang.OutOfMemoryError sull'archiviazione di immagini in sqlite db
- 26. Inserimento di file system Android
- 27. Come scaricare un file memorizzato in un database SQLite come un BLOB?
- 28. File system filename escape? C#
- 29. File system basato su tag
- 30. Memoria database vs file system
Solo per chiarimenti - questo è per un'app per iPhone, corretto? – AnonJr