微軟研究院的一篇名爲To Blob or Not To Blob的論文深入討論了這個話題。
他們大量的性能測試和分析後得出的結論是這樣的:
如果你決定把你的照片到SQL Server表,我會強烈建議使用一個單獨的表存儲這些圖片 - 不要將員工照片存儲在員工表中 - 將他們保存在單獨的表格中。這樣一來,假設您並不總是需要選擇員工照片作爲查詢的一部分,那麼員工表可以保持精簡併且意味着非常高效。
對於文件組,請查看Files and Filegroup Architecture的介紹。基本上,您可以從一開始就爲大數據結構創建一個單獨的文件組的數據庫,或者稍後添加一個額外的文件組。我們稱之爲「LARGE_DATA」。
現在,只要你有一個新的表來創建一個需要存儲VARCHAR(MAX)
或VARBINARY(MAX)
列,可以爲大型數據指定該文件組:
CREATE TABLE dbo.YourTable
(....... define the fields here ......)
ON Data -- the basic "Data" filegroup for the regular data
TEXTIMAGE_ON LARGE_DATA -- the filegroup for large chunks of data
檢查出文件組的MSDN介紹,和玩它!
嗯,事實是,在所有查詢中,我們需要選擇縮略圖或照片(縮略圖用於結果搜索,以及用於輸入照片以查看圖像數據)。在那種情況下,我們也必須在兩行中分開保存? – 2011-12-20 11:25:19