91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql中blob是什么

發布時間:2021-03-09 15:53:53 來源:億速云 閱讀:5517 作者:小新 欄目:數據庫

小編給大家分享一下mysql中blob是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

BLOB (binary large object),二進制大對象,是一個可以存儲二進制文件的容器。在計算機中,BLOB常常是數據庫中用來存儲二進制文件的字段類型。BLOB是一

個大文件,典型的BLOB是一張圖片或一個聲音文件,由于它們的尺寸,必須使用特殊的方式來處理(例如:上傳、下載或者存放到一個數據庫)。根據Eric Raymond的

說法,處理BLOB的主要思想就是讓文件處理器(如數據庫管理器)不去理會文件是什么,而是關心如何去處理它。但也有專家強調,這種處理大數據對象的方法是把雙

刃劍,它有可能引發一些問題,如存儲的二進制文件過大,會使數據庫的性能下降。在數據庫中存放體積較大的多媒體對象就是應用程序處理BLOB的典型例子。

mysql BLOB類型

MySQL中,BLOB是個類型系列,包括:TinyBlob、Blob、MediumBlob、LongBlob,這幾個類型之間的唯一區別是在存儲文件的最大大小上不同。
  MySQL的四種BLOB類型
  類型 大小(單位:字節)
  TinyBlob 最大 255
  Blob 最大 65K
  MediumBlob 最大 16M
  LongBlob 最大 4G

linux修改etc/my.cnf
[mysqld]
max_allowed_packet = 16M //不同于[mysqldump]下的max_allowed_packet

BLOB是一個二進制大對象,可以容納可變數量的數據。有4種BLOB類型:TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。它們只是可容納值的最大長度不同。

有4種TEXT類型:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。這些對應4種BLOB類型,有相同的最大長度和存儲需求。

BLOB 列被視為二進制字符串(字節字符串)。TEXT列被視為非二進制字符串(字符字符串)。BLOB列沒有字符集,并且排序和比較基于列值字節的數值值。TEXT列有一個字符集,并且根據字符集的 校對規則對值進行排序和比較。

在TEXT或BLOB列的存儲或檢索過程中,不存在大小寫轉換。

當未運行在嚴格模式時,如果你為BLOB或TEXT列分配一個超過該列類型的最大長度的值值,值被截取以保證適合。如果截掉的字符不是空格,將會產生一條警告。使用嚴格SQL模式,會產生錯誤,并且值將被拒絕而不是截取并給出警告。

在大多數方面,可以將BLOB列視為能夠足夠大的VARBINARY列。同樣,可以將TEXT列視為VARCHAR列。BLOB和TEXT在以下幾個方面不同于VARBINARY和VARCHAR:

·         當保存或檢索BLOB和TEXT列的值時不刪除尾部空格。(這與VARBINARY和VARCHAR列相同)。

請注意比較時將用空格對TEXT進行擴充以適合比較的對象,正如CHAR和VARCHAR。

·         對于BLOB和TEXT列的索引,必須指定索引前綴的長度。對于CHAR和VARCHAR,前綴長度是可選的。

·         BLOB和TEXT列不能有 默認值。

LONG和LONG VARCHAR對應MEDIUMTEXT數據類型。這是為了保證兼容性。如果TEXT列類型使用BINARY屬性,將為列分配列字符集的二元 校對規則。

MySQL連接程序/ODBC將BLOB值定義為LONGVARBINARY,將TEXT值定義為LONGVARCHAR。

由于BLOB和TEXT值可能會非常長,使用它們時可能遇到一些約束:

·         當排序時只使用該列的前max_sort_length個字節。max_sort_length的 默認值是1024;該值可以在啟動mysqld服務器時使用--max_sort_length選項進行更改。

運行時增加max_sort_length的值可以在排序或組合時使更多的字節有意義。任何客戶端可以更改其會話max_sort_length變量的值:

mysql> SET max_sort_length = 2000;
mysql> SELECT id, comment FROM tbl_name
-> ORDER BY comment;
當你想要使超過max_sort_length的字節有意義,對含長值的BLOB或TEXT列使用GROUP BY或ORDER BY的另一種方式是將列值轉換為固定長度的對象。標準方法是使用SUBSTRING函數。例如,下面的語句對comment列的2000個字節進行排序:

mysql> SELECT id, SUBSTRING(comment,1,2000) FROM tbl_name
-> ORDER BY SUBSTRING(comment,1,2000);
·         BLOB或TEXT對象的最大大小由其類型確定,但在客戶端和服務器之間實際可以傳遞的最大值由可用內存數量和通信緩存區大小確定。你可以通過更改max_allowed_packet變量的值更改消息緩存區的大小,但必須同時修改服務器和客戶端程序。例如,可以使用 mysql和mysqldump來更改客戶端的max_allowed_packet值。

每個BLOB或TEXT值分別由內部分配的對象表示。這與其它列類型形成對比,后者是當打開表時為每1列分配存儲引擎。

以上是“mysql中blob是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巴南区| 民和| 阳东县| 临泉县| 巴楚县| 宁城县| 泉州市| 建宁县| 壶关县| 灵武市| 正阳县| 太仆寺旗| 白水县| 建瓯市| 岢岚县| 吉木萨尔县| 尚义县| 舞钢市| 乌什县| 新昌县| 田东县| 河东区| 上杭县| 景德镇市| 亚东县| 桃园县| 侯马市| 阿坝| 长武县| 靖边县| 孝感市| 湖南省| 东台市| 青河县| 雷山县| 息烽县| 乐山市| 界首市| 类乌齐县| 临武县| 交城县|