我正在開發一個項目,我必須使用上傳文件。我使用ASP.NET MVC3(C#)作爲前端,SQL Server 2008 R2作爲後端。現在上傳一個文件,我必須選擇:哪個更好?在DB中存儲文件或在DB中存儲其路徑?
1)將文件上傳到項目的特定目錄並將其路徑存儲到數據庫中(在將文件上傳到該目錄之前,我必須將文件名更改爲當前時間戳,文件將具有唯一的名稱。)
2)將文件直接上傳到數據庫中。
哪個選項會更好?我的項目以KBs(pdf/word/images)上傳文件。
我正在開發一個項目,我必須使用上傳文件。我使用ASP.NET MVC3(C#)作爲前端,SQL Server 2008 R2作爲後端。現在上傳一個文件,我必須選擇:哪個更好?在DB中存儲文件或在DB中存儲其路徑?
1)將文件上傳到項目的特定目錄並將其路徑存儲到數據庫中(在將文件上傳到該目錄之前,我必須將文件名更改爲當前時間戳,文件將具有唯一的名稱。)
2)將文件直接上傳到數據庫中。
哪個選項會更好?我的項目以KBs(pdf/word/images)上傳文件。
直接存儲在文件系統上通常會提供更好的性能。在數據庫中存儲意味着您可以在同一個事務中完成文件的插入和元數據更新(我想你會將其存儲在數據庫的某個表中)。
第三種方法是使用MSSQL的文件流功能,它可以將文件作爲數據庫中的字段處理,但也可以通過共享將文件直接作爲文件訪問。
okie。在這種情況下,第二種選擇會有好處? – Dhwani 2013-04-27 06:54:54
您可以獲得文件處理的事務支持,因此您可以一起更新元數據和文件。你將所有的數據放在一個地方,簡化備份等,你可以使用一個數據訪問層。 – 2013-04-27 06:57:33
存儲路徑。您可以更輕鬆地更改文件。
@CodeIgnoto,okie。在這種情況下,第二種選擇會有好處? – Dhwani 2013-04-27 06:56:38