MySQL入門教程:BLOB和TEXT類型
最新學訊:近期OCP認證正在報名中,因考試人員較多請盡快報名獲取最近考試時間,報名費用請聯系在線老師,甲骨文官方認證,報名從速!
我要咨詢MySQL入門教程:BLOB和TEXT類型,一個BLOB是一個能保存可變數量的數據的二進制的大對象。4個BLOB類型TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB僅僅在他們能保存值的最大長度方面有所不同。
4個TEXT類型TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT對應于4個BLOB類型,并且有同樣的最大長度和存儲需求。在BLOB和TEXT類型之間的唯一差別是對BLOB值的排序和比較以大小寫敏感方式執行,而對TEXT值是大小寫不敏感的。換句話說,一個TEXT是一個大小寫不敏感的BLOB。
如果你把一個超過列類型最大長度的值賦給一個BLOB或TEXT列,值被截斷以適合它。
在大多數方面,你可以認為一個TEXT行列是你所希望大的一個VARCHAR列。同樣,你可以認為一個BLOB列是一個VARCHAR BINARY列。差別是:
用MySQL版本3.23.2和更新,你能在BLOB和TEXT列上索引。更舊的MySQL版本不支持這個。
當值被存儲時,對BLOB和TEXT列沒有拖后空格的刪除,因為對VARCHAR列有刪除。
BLOB和TEXT列不能有DEFAULT值。
由于,BLOB和TEXT類型可以存儲非常多的數據,因此使用BLOB和TEXT類型需要注意的是:
BLOB 或 TEXT 列在 MySQL 3.23 以上版本中可以進行索引,雖然在索引時必須指定一個用于索引的約束尺寸,以免建立出很大的索引項從而抵消索引所帶來的好處。
由于 BLOB 和 TEXT 值的大小變化很大,如果進行的刪除和更新很多,則存儲它們的表出現高碎片率會很高。應該定期地運行 OPTIMIZE TABLE 減少碎片率以保持良好的性能。