0

我在數據庫中存儲了許多小圖像,並且希望使用SQL Server的文件流功能。但是,微軟建議將它用於大於1MB的對象,但我的平均對象大小爲300KB。所以我想知道Filestream的工作原理嗎?如果是的話有什麼缺點? 我使用SQL Server Express 2008 R2,我希望這個功能可以幫助我保存數據庫的大小,否則它會長大,以表達版本有限的大小。 感謝針對大小小於1MB的對象的SQL文件流

+1

我認爲最好將文件存儲在文件系統中 – Dor

+1

@Dor - 這取決於Lukas是否需要強大的事務支持。 –

+0

我知道我可以將圖像存儲爲文件,但是我想知道有關文件流功能,它是否可以在小物體上正常工作。也許有人知道? – Lukas

回答

1

這個微軟的交易中their documentation

何時使用FILESTREAM

在SQL Server中,BLOB的可以是在表中存儲 數據標準VARBINARY(max)數據,或FILESTREAM在文件系統中存儲 數據的varbinary(max)對象。數據的大小和用途決定了您是否應該使用數據庫存儲或文件系統存儲 。如果 下列條件爲真,則應考慮使用FILESTREAM:

  • 對象,會被存儲,平均而言,大於1 MB。
  • 快速讀取訪問非常重要。
  • 您正在開發使用 應用程序邏輯的中間層的應用程序。

對於較小的對象,存儲的varbinary(最大)的BLOB在數據庫 往往提供更好的數據流性能。

所以它應該工作(假定Express支持的話) - 你可能只是受損的表現比在數據庫的方法爲更小的物體。