《mysql char、varchar、text等字符串類型定義Mysql必讀》要點:
本文介紹了mysql char、varchar、text等字符串類型定義Mysql必讀,希望對您有用。如果有疑問,可以聯系我們。
導讀:1.對于長度基本固定的列,如果該列恰好更新又特別頻繁,適合char2.varchar雖然存儲變長字符串,但不可太小也不可太大.UTF8最多能存21844個...
1.對于長度基本固定的列,如果該列恰好更新又特別頻繁,適合char
2.varchar雖然存儲變長字符串,但不可太小也不可太大.UTF8最多能存21844個漢字,或65532個英文
3.varbinary(M)保存的是二進制字符串,它保存的是字節而不是字符,所以沒有字符集的概念,M長度0-255(字節).只用于排序或比較時大小寫敏感的類型,不包括密碼存儲
4.TEXT類型與VARCHAR都類似,存儲可變長度,最大限制也是2^16,但是它20bytes以后的內容是在數據頁以外的空間存儲(row_format=dynamic),對它的使用需要多一次尋址,沒有默認值.
一般用于存放容量平均都很大、操作沒有其它字段那樣頻繁的值.
網上部分文章說要避免使用text和blob,要知道如果純用varchar可能會導致行溢出,效果差不多,但因為每行占用字節數過多,會導致buffer_pool能緩存的數據行、頁下降.另外text和blob上面一般不會去建索引,而是利用sphinx之類的第三方全文搜索引擎,如果確實要創建(前綴)索引,那就會影響性能.凡事看具體場景.
另外盡可能把text/blob拆到另一個表中
5.BLOB可以看出varbinary的擴展版本,內容以二進制字符串存儲,無字符集,區分大小寫,有一種經常提但不用的場景:不要在數據庫里存儲圖片.
轉載請注明本頁網址:
http://www.fzlkiss.com/jiaocheng/5564.html