我應該使用什麼來將圖像保存到數據庫中。在我用什麼類型來存儲和檢索圖像在PHP和MySQL。我應該使用什麼來將圖像保存在數據庫中
回答
的經驗法則是你不應該在數據庫中存儲的圖像。 Blob是可用的,但相當糟糕。
你應該做的是將二進制文件存儲在比數據庫快許多倍的文件系統上,並在數據庫中存儲路徑或鏈接或文件名,並讓應用程序從路徑加載圖像。
這使您可以輕鬆實現像靜態文件的CDN或SAN存儲等東西。它甚至允許你使用類似lighttpd的東西顯示靜態內容圖像而不是apache。
https://blogs.oracle.com/manveen/entry/blob_vs_file_system_storage給多一點信息,但有大量的統計信息和數據的約斑點
的缺點在網絡上其他更深入的文章http://research.microsoft.com/apps/pubs/default.aspx?id=64525 – Dave 2013-02-08 14:21:05
使用BLOB
數據類型,這意味着二進制大對象
BLOB的可能比文件存儲速度較慢,但它是非常容易複製,備份和恢復單個數據庫文件,而不是管理/維護文件結構中的圖像。
我還建議將圖像存儲在自己的專用數據庫中(將屬性/標記信息存儲在單獨的數據庫中)。
我叮叮噹噹,下載文件並不複雜。其實,對我來說似乎更容易。 – 2013-02-08 14:29:42
沒有它沒有。 tar -cf/imagefolder/imagebackup.tar就像那樣,將它設置爲自動備份的cron。也更容易備份到s3之類的東西,例如使用重複數據而不會導致數據庫服務器執行mysqldump的負載。由於db數據庫的大小從圖像存儲中增長,數據庫服務器的性能下降不足。 – Dave 2013-02-08 14:29:54
將圖像存儲在數據庫中是一個非常糟糕的主意。數據庫被確定爲保存一小段信息 - 而不是圖像或文件。你有這個目的的硬盤。
相反,您應該將圖像保存在磁盤上並將其文件名保存在數據庫中。這樣的:
$name = uniqid();
file_put_contents($name.".png",$image_data);
mysql_query("INSERT INTO `images` (image) VALUES ('$name.png')") or die(mysql_error());
如果你真的堅持在DB保存圖像使用BLOB。
簡單&優化選項是上傳服務器上的圖像,並在數據庫中存儲「圖像的網址」字符串。
Incase,你只想存儲實際的圖像文件,然後使用Blob數據類型。
- 1. 我應該將圖片網址保存在數據庫中嗎?
- 2. 我應該將圖像二進制數據保存到數據庫還是將圖像保存爲文件?
- 3. 我們應該何時將圖像存儲在數據庫中?
- 4. iOS - 我應該用什麼來保存數據
- 5. 我應該使用C#保存圖像的類型是什麼?
- 6. 我應該使用什麼來存儲多個圖像?
- 7. 我應該將圖像保存在數據庫還是文件夾中?
- 8. 圖像應該保存在數據庫中的磁盤上嗎?
- 9. 我應該使用什麼樣的控件來顯示保存在數據庫中的圖像,並將其編碼爲圖像
- 10. 我應該使用哪種數據類型來將圖像存儲在數據庫(PostgreSQL)中?
- 11. 我應該將我的圖像保存在覈心數據中,還是應該使用SDWebImage
- 12. 我應該使用什麼數據類型來保存mysql數據庫中的p值?
- 13. 我應該將掩碼值保存在數據庫中嗎?
- 14. 將圖像保存到數據庫中
- 15. 我應該使用什麼類型的數據結構來保存錶行?
- 16. 我應該在linux下使用什麼庫來生成熱圖?
- 17. 我應該在SQLite數據庫中存儲圖像嗎?
- 18. 使用C#代碼將圖像保存在Informix數據庫中?
- 19. 將圖像保存到sqlite數據庫有什麼問題?
- 20. 我應該使用什麼樣的數據結構來存儲文件庫..?
- 21. 我應該將網站重要數據保存到數據庫
- 22. 我應該使用什麼格式在android中保存JSON數據
- 23. 我應該將位圖存儲在SQLITE數據庫中嗎
- 24. 我應該使用double類型來保存mysql數據庫中的座標嗎?
- 25. 我應該使用什麼字符集來將電子郵件存儲在MySQL數據庫中?
- 26. 我應該使用什麼數據庫來部署WPF應用程序?
- 27. 在SQLite數據庫中保存圖像
- 28. 圖像保存在數據庫中
- 29. 在數據庫中保存圖像
- 30. 圖像不保存在數據庫中
http://dev.mysql.com/doc/refman/5.1/en/blob.html – jussi 2013-02-08 14:12:35