2013-07-14 63 views
-1

過去我將文件(文檔和圖像)存儲在數據庫中。被告知,最好將文件保存到磁盤並將文件路徑保存到數據庫中。將文件保存在磁盤上針對備份和恢復的數據庫

我的問題是:

  1. 哪種方式更好,保存在數據庫中的文件或文件保存到磁盤並保存在數據庫中的文件路徑?

  2. 如果將文件保存在數據庫中效果更好:文件的字段類型爲文件類型(DOC,DWG,JPG,...)應該是什麼(varbinary(x),varbinary(max),image ,...)?

  3. 如果將文件保存到磁盤並在數據庫中保存文件路徑,最好是:增量備份和文件恢復如何實現?

真誠

+1

該建議對於情況是主觀的。一個文件如何「大」?你的第二個問題沒有任何意義。第三,再次取決於。第四個和第二個一樣荒謬。五是完全不同的問題。 –

+1

0.1到10 MB之間的文件。但他們的人數很多。 –

回答

0
  1. 將它保存在數據庫中,除非你需要寫在磁盤上的文件進行一些操作像查看Word中的文檔文件等而這樣的操作常做的。

  2. 使用Blob數據類型來保存文件。

  3. 如果文件存儲在數據庫中,那麼在您的應用程序中實現備份和恢復功能會更容易。

    否則,您需要從數據庫獲取文件路徑列表,然後將文件從磁盤複製到備份位置。您還需要在數據庫中再次更新路徑。

    從磁盤讀取文件時可能會出現錯誤,您需要手動管理所有這些內容。

+1

Blob數據類型爲varbinary(max)? –

+1

在SQL Server中使用varbinary(max)。在其他數據庫中,您將獲得BLOB選項 – coding