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

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

順着關鍵字BLOB搜索,原來是Mysql存儲的一種類型,從不少文章下了解到以下信息數據庫

瞭解性能

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

MySQL的四種BLOB類型.net

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

BLOB與TEXT的區別3d

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

BLOB和TEXT值會引發一些性能問題,特別是執行了大量的刪除操做時。
刪除操做會在數據庫表中留下很大的「空洞」,之後要填入這些「空洞」的記錄在插入的性能上會有影響。爲了提升性能,建議按期使用OPTIMEIZE TABLE功能對這類表進行碎片整理,避免由於「空洞」致使性能問題。 blog

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

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

將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   原生的寫入與讀取

相關文章
相關標籤/搜索