2011-09-27 52 views

回答

1

我建議將圖像存儲在某種NAS或某些其他位置,並將圖像的路徑與其他數據一起存儲在數據庫中。

您可以將圖像存儲在數據庫中,但從數據庫檢索圖像並將其呈現給用戶(這並不會很好)。可能會出現性能問題

+0

感謝@harigm提供​​了非常及時的答覆。對。同意,如果我將圖像存儲在數據庫中,性能可能會受到影響。將按照您的建議將它們存儲在單獨的文件夾中。我還有一個問題。我們可以將圖像和文本存儲在一個blob字段中嗎? –

+0

@Ravi,我不認爲它可能,還沒有嘗試過,但 – gmhk

1

MySQL很好地處理圖像。您將它們插入到BLOB中。另一方面,您可以將圖像文件名和路徑或鏈接存儲爲數據庫中的文本。

哪個解決方案最好取決於您的應用程序的要求。一般情況下,如果你有大量的圖像,你的數據庫將變得巨大,備份速度會變慢。爲了存儲大量圖像,可能會對文件系統產生類似的影響。

以下是有趣的微軟To BLOB or not to BLOB論文,它將爲您提供有關該主題甚至某些指標的更多信息。

+0

感謝分享鏈接@Costis。還有一個問題。我可以在mysql中的單個blob字段中共享圖像和文本嗎? –

+0

我會將文本保存在名爲「description」的Varchar字段中。這樣你可以避免合併和提取算法,這會不必要地降低你的速度。這將允許您另外通過描述搜索圖像。 –

0

我會迴應@harigm和@Costis Aivalis給出的答案,但是如果您真的想「全力以赴」地將HTML內容和圖像存儲在同一個BLOB中,爲什麼不看看RFC 2557它允許您使用url scheme data:將二進制數據(如圖像)放在文檔本身中。爲了完成這項工作,您需要在HTML返回到服務器時進行解析,並將base64編碼爲放置在HTML中的所有圖像,相當多的工作對於可能只會帶來微不足道的回報。

+0

我發現這個網頁:http://rifers.org/blogs/gbevin/2005/4/11/embedding_images_inside_html,這很好地解釋了這一點,並且意味着你不必閱讀RFC。 – tribeca