2012-05-14 236 views
2

我知道這個問題在這裏以各種方式提出,但沒有一個答案是確鑿的。將圖片保存在MySQL數據庫中並將其保存爲文件

我有一個系統,其中包括更新網站畫廊。 我可以將文件「上傳」到網站(並在系統中保存一份副本 - 需要)或將其保存在數據庫中並保存空間(和另一個上傳)。如果我使用這些文件,我需要「通知」每個更改的網頁(圖片刪除,添加或更改),而不僅僅是在數據庫中進行更改。

所以:

  1. 如果我們談論的是一個標準的網站,一個圖片庫,它是最好的保存照片的圖片或在DB?
  2. 如果網頁訪問量很大或非常大,它有什麼區別嗎?

重要的區別是什麼?或者只是用便捷的方式去?

儘管我介紹了我的情況,但我還希望能有一個「更一般」的答案,在談論保存文件時,什麼是「好」方法。

在此先感謝您的澄清,

Michel。

+0

的可能重複[PHP將圖像存儲在MySQL或不?(http://stackoverflow.com/questions/527801/php-to-store-images-in-mysql-or-not) - 不是真的PHP具體而言,儘管它的名字。 – eggyal

+0

相關(重複?):[在數據庫mysql中保存圖像](http://stackoverflow.com/questions/2753193/saving-images-in-database-mysql)。 – mkjeldsen

+0

兩者都不一樣。這裏的問題是沒有簡單的方法來控制圖片更改。如果上傳了一些圖片,系統需要AJAX製作'get_file_contents'的網站並保存圖片。如果圖片發生了變化,我需要刪除,然後保存新的等。我所讀的兩個答案都沒有這種擔心。 – Phoenix

回答

0

只將結構化數據放入數據庫中。圖像是文件,應保存在文件系統上。隨着圖片/用戶數量的增長,數據庫的性能將越來越差。相反,請創建一個圖像對象,您可以使用它來跟蹤圖像位置和元數據。

0

在我以前的項目中,我遇到了同樣的問題。

我決定只存儲圖像的路徑在我的數據庫(這僅僅是一個字符串)去並保存圖像中的文件系統,而不是在數據庫中。

這是許多方面的最佳做法。 它使您的數據庫保持較小,獲得大量行數更快,數據庫後備數量更小。

只需將圖像放在文件中並將路徑保存在數據庫中,以便稍後可以檢索。

+0

這可能無法在複製的情況下工作。只有文件路徑將被複制,而不是數據。 –

+0

事實上,文件名稱必須不同,否則將無法使用。 – hermann

相關問題