亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在SQLServer中存儲映像?

在SQLServer中存儲映像?

滄海一幻覺 2019-07-22 16:29:40
在SQLServer中存儲映像?我制作了一個小型演示站點,在上面我將圖像存儲在SQL服務器上的圖像列中。我有幾個問題是.。這是個壞主意嗎?當我的網站增長時,它會影響到它的性能嗎?另一種方法是將映像存儲在光盤上,并且只將對映像的引用存儲在數據庫中。這肯定是許多人共同面臨的困境。我會歡迎一些建議,如果可以的話,我很樂意少犯一些錯誤。
查看完整描述

3 回答

?
千萬里不及你

TA貢獻1784條經驗 獲得超9個贊

微軟研究部有一篇很好的論文對布洛布還是不對布洛布.

經過大量的性能測試和分析,他們的結論是:

  • 如果圖片或文檔的大小通常低于256 K,則將它們存儲在數據庫VARBINARY列中更有效

  • 如果圖片或文檔的大小通常超過1MB,則將它們存儲在文件系統中效率更高(使用SQLServer 2008的FILESTREAM屬性,它們仍然處于事務性控制和部分數據庫中)。

  • 在這兩者之間,取決于你的使用情況,這有點麻煩。

如果您決定將圖片放到SQLServer表中,我強烈建議使用單獨的表來存儲這些圖片-不要將Employee照片存儲在Employee表中-將它們保存在單獨的表中。這樣,Employee表就可以保持簡潔、刻薄和非常高效,前提是您并不總是需要選擇Employee照片作為查詢的一部分。

對于文件組,請查看文件和文件組體系結構做個介紹。基本上,您可以從一開始就為大型數據結構創建一個單獨的文件組,或者稍后添加一個額外的文件組。讓我們稱之為“大數據”。

現在,每當要創建需要存儲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簡介,并玩它!


查看完整回答
反對 回復 2019-07-22
?
德瑪西亞99

TA貢獻1770條經驗 獲得超3個贊

有一次,我陷入了這樣的困境,對谷歌進行了大量的研究,征求意見。我發現,實際上,許多人認為將映像保存到磁盤中更好,而MySQL則允許更容易地訪問,特別是通過PHP等語言進行訪問。

我發現了一個類似的問題

MySQL BLOB還是用于存儲小型PNG圖像的文件?

我的最后結論是,對于像配置文件圖片這樣的東西,僅僅是每個用戶需要存在的小方格圖像,MySQL會比在HDD中存儲一堆大拇指更好,而對于相冊之類的東西,文件夾/圖像文件會更好。

希望能幫上忙


查看完整回答
反對 回復 2019-07-22
?
慕勒3428872

TA貢獻1848條經驗 獲得超6個贊

為什么在數據庫中存儲圖片是好的,而不是在Web服務器上的目錄中存儲圖片。

您已經制作了一個包含大量圖片的應用程序,這些圖片存儲在服務器上的一個文件夾中,客戶端已經使用了多年。

現在他們來找你了。他們的服務器已經被銷毀,他們需要在一個新的服務器上恢復它。他們再也不能訪問舊服務器了。他們唯一的備份是數據庫備份。

當然,您有源代碼,可以簡單地將其部署到新服務器,安裝SQLSERVER并恢復數據庫。但現在所有的照片都不見了。

如果您已經將圖片保存在SQLSERVER中,那么一切都將像以前一樣工作。

只是我的兩分錢。


查看完整回答
反對 回復 2019-07-22
  • 3 回答
  • 0 關注
  • 492 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號