Mysql BLOB、BLOB與TEXT區別及性能影響、將BLOB類型轉換成VARCHAR類型


在排查公司項目業務邏輯的時候,見到了陌生的字眼,如下圖

順着關鍵字BLOB搜索,原來是Mysql存儲的一種類型,從很多文章下了解到如下信息

了解

MySQL中,BLOB字段用於存儲二進制數據,是一個可以存儲大量數據的容器,它能容納不同大小的數據。

MySQL的四種BLOB類型

  1. 類型                     大小(單位:字節)
  2. TinyBlob                   最大 255
  3. Blob                         最大 65K
  4. MediumBlob            最大 16M
  5. LongBlob                 最大 4G

BLOB與TEXT的區別

一般在保存少量字符串的時候,我們會選擇CHAR或者VARCHAR,而在保存較大文本時,通常會選擇使用TEXT或者BLOB。二者之間的主要差別是BLOB能用來保存二進制數據,比如照片;而TEXT只能保存字符數據,比如一遍文章或日記。TEXT和BLOB中又分別包括TEXT,MEDIUMTEXT,LONGTEXT和BLOB,MEDIUMBLOB,LONGBLOB三種不同的類型,他們之間的主要區別是存儲文本長度不用和存儲字節不用,用戶應該根據實際情況選擇能夠滿足需求的最小存儲類型。

BLOB和TEXT值會引起一些性能問題,特別是執行了大量的刪除操作時。
刪除操作會在數據庫表中留下很大的“空洞”,以后要填入這些“空洞”的記錄在插入的性能上會有影響。為了提高性能,建議定期使用OPTIMEIZE TABLE功能對這類表進行碎片整理,避免因為“空洞”導致性能問題。 

詳細說明:https://blog.csdn.net/weixin_36910300/article/details/79104536

性能影響:https://blog.csdn.net/zhao_6666/article/details/79132285

將BLOB轉化為VARCHAR

select CAST(content AS CHAR(10000) CHARACTER SET utf8) from t_bonus_code_log

https://blog.csdn.net/qjc_501165091/article/details/51226018   原生的寫入與讀取


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM