日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql存储视频_特殊格式文件(视频、声音等) 在数据库中的存储方式

發布時間:2023/12/18 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql存储视频_特殊格式文件(视频、声音等) 在数据库中的存储方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題描述:一般網站,對于用戶上傳的圖片、視頻、聲音等特殊格式的數據是以本地文件的形式存儲,然后把相應URL路徑存放在數據庫里呢;還是,將數據直接寫到數據庫里存放?

答:多數網站,基本上采用的是第一種方式,即:文件存儲+URL路徑的模式。

首先,視頻、聲音、圖片為非結構化數據,傳統的關系型數據庫主要是是針對結構化數據設計的,雖然有相應的字段格式支持存儲,即:如果要把視頻等文件存儲到數據庫的話,要使用大字段(例如:Oracle,Mysql中的

數據庫里可以直接寫入上述特殊數據,但這種存儲方式對于用戶請求過程有明顯的缺點,占內存、速度慢、效率不高,會耗費較大的數據庫資源;因為用戶每次請求數據的時候,需要先訪問數據庫,從數據庫中查詢到相關文件,然后將文件以數據流的方式讀到數據庫內存,最后返回給用戶,這時就需要你的系統要有較大的內存,比較快的讀取速度,另外還會一定程度上影響數據庫的一些查詢性能。比如:數據庫表中如果添加用于存放視頻格式的二進制字段后,即使相應的二進制字段為NULL,查詢的時候不查詢該二進制字段,查詢速度仍然會下降很多,這種情況下想通過優化SQL語句提高性能,收效勝微。

說了這么多,是不是選擇 直接存在數據庫就一定不好呢,其實不然!

將視頻、圖片等格式的數據存放在數據庫的話,也有一定的好處,比如:

比較容易去重,可以將多余重復的數據利用SQL語句過濾刪除,操作方便

備份的時候,使用數據庫的備份方式簡單。(當然這也是相對的,數據的存儲越大,恢復越麻煩。)

3. 相較與原生存儲 更加安全(增加了數據庫的一層保護)

那么,什么樣的業務場景適合直接存放在數據庫中?

如果是一個小型的網站,像論壇等,平時用戶上傳、請求的該類特殊數據比較少,而又注重上述這種方式的優點的話,可以采用。

總結:

大多數情況下,如果要存儲圖片、文件、視頻等大文件對象,建議存成本地文件(提高性能的話采用分布式存儲),不建議直接存儲到數據庫中;對于目前主流的視頻網站,如何存放視頻文件呢?可以參考

附:Mysql數據庫中存入視頻格式文件測試

創建一個測試表test,使用longblob或者mediumblob

CREATE TABLE test (id INTEGER NOT NULL PRIMARY KEY,name VARCHAR (20),movie LONGBLOB);

然后把視頻文件導入

INSERT INTO test VALUES(1, 'titanic', LOAD_FILE("/tmp/good.mp4"));

注意,如果不使用longblob可能出現以下錯誤

總結

以上是生活随笔為你收集整理的mysql存储视频_特殊格式文件(视频、声音等) 在数据库中的存储方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。