我們使用多個文本文件作爲模板來創建WCF數據服務 - 服務操作調用的結果。應該將文本文件存儲在我的SQL Server數據庫中嗎?
該文本文件每個小於3000 Bites Max。
將我的模板文件與WCF數據服務文件一起存儲在文件系統中與將它們存儲在SQL Server 2008 R2服務器中有什麼優缺點?
我們使用多個文本文件作爲模板來創建WCF數據服務 - 服務操作調用的結果。應該將文本文件存儲在我的SQL Server數據庫中嗎?
該文本文件每個小於3000 Bites Max。
將我的模板文件與WCF數據服務文件一起存儲在文件系統中與將它們存儲在SQL Server 2008 R2服務器中有什麼優缺點?
在SQL Server 2008之前,我強烈建議不要在數據庫中存儲大型對象(如文本文件)。它往往會降低訪問速度,並使他們通常更難以使用。相反,我通常建議存儲鏈接到有問題的文件。
當然,這意味着數據庫不會保護文件,如果某人刪除了他們不應該保存的文件,並且文件需要從數據庫中單獨備份和傳輸。
在SQL Server 2008中,我認爲許多前面的問題已經被使用filestream函數克服了,我認爲使用filestream存儲文件有時會非常有用。它繼續將實際數據存儲在數據庫之外,這避免了許多以前的複雜情況。但它仍然將兩者綁定在一起,並允許數據庫保護文件,而不僅僅依賴數據庫中的鏈接才能正確。
存儲方法有很多優點和缺點。如今(我的意見已經發生了變化,並且有可能在某一天再次發生變化),我將重點放在安全性和可管理性上。
我認爲最好是直接在數據庫中存儲數據。這使得訪問速度更快,因爲數據庫在讀取和處理數據方面效率更高。您可以隨時將數據存儲在數據庫中 - 這沒有問題。那麼也可以傳輸大量數據。
出於安全原因,現有更多配置數據庫的選項已足夠。而且,如果您將數據庫集羣化 - 這更具可擴展性。
是否有什麼特別的原因讓你更喜歡存儲文件而不是文件的文本內容?好奇,這一切都是 – 2012-01-10 17:58:58
3K是非常小的。即使在SQL 2005以前的版本中,您也可以將8K數據放入varchar中。所以這實際上是一個更通用的問題:「我應該在哪裏放置配置數據,在文件還是數據庫中?」關於這個話題寫了很多。 – 2012-01-10 18:20:44