程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySql性能調優(二)字段類型的選取之字符類型

MySql性能調優(二)字段類型的選取之字符類型

編輯:MySQL綜合教程

MySql性能調優(二)字段類型的選取之字符類型


字符類型:

Char()用於保存固定長度的字符串,長度最大為255,比指定長度大的值將被截斷,比指定長度小的值會用空格填補。

Varchar()用於保存可變長度的字符串,長度最大為65535,只存儲字符串實際需要的長度,但是會用1~2個字節來存儲值得長度。如果列的最大長度小於或255,則使用1字節,否則就是2字節。

Char和varchar與字符編碼也有密切聯系,GBK占用2個字節,UTF8占用三個字節。

1. GBK字符集

\

解析:因為varchar類型長度大於255,所以要用2字節存儲值的長度。

計算公式:(65535-2)/ 2= 32766.5,也即是說不能大於32767

2. UTF8字符集<喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGltZyBzcmM9"http://www.2cto.com/uploadfile/Collfiles/20150529/2015052910185613.jpg" alt="\">

解析:因為varchar類型長度大於255,所以要用3字節存儲值的長度。

計算公式:(65535-2)/3 = 21844.3,也就是說不能大於21845

對於一個表中的多個字段:

計算公式:(65535 -4-20*2+1-8-2)/2 =32740,也就是說不能大於32740的長度。

【總結】:在什麼情況下使用char和varchar?

經常變化的值,如家庭住址長短不一,使用varchar合適。

對於固定的值和已知的值,比如md5後的32位字符類型,char(32),使用char節省空間。因為varchar還需要使用1字節進行存儲值的長度。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved