varchar

varchar

VARCHAR(M)是一種比CHAR更加靈活的數據類型,同樣用於表示字元數據,但是VARCHAR可以保存可變長度的字元串。其中M代表該數據類型所允許保存的字元串的最大長度,只要長度小於該最大值的字元串都可以被保存在該數據類型中。因此,對於那些難以估計確切長度的數據對象來說,使用VARCHAR數據類型更加明智。MySQL4.1以前,VARCHAR數據類型所支持的最大長度255,5.0以上版本支持65535位元組長度,utf8編碼下最多支持21843個字元(不為空)

基本介紹

  • 外文名:varchar
  • 用於:表示字元數據
  • 支持:支持的最大長度是255個字元
  • 特點:使用固定長度等
與char 的區別,特點,char特點,示例,

與char 的區別

VARCHAR型和CHAR型數據的這個差別是細微的,但是非常重要。他們都是用來儲存字元數值小於255的字元,mysql5.0之前是varchar支持最大255。
假如你向一個長度為四十個字元的VARCHAR型欄位中輸入數據Bill Gates。當你以後從這個欄位中取出此數據時,你取出的數據其長度為十個字元——字元串Bill Gates的長度。 假如你把字元串輸入一個長度為四十個字元的CHAR型欄位中,那么當你取出數據時,所取出的數據長度將是四十個字元。字元串的後面會被附加多餘的空格。
當你建立自己的站點時,你會發現使用VARCHAR型欄位要比CHAR型欄位方便的多。使用VARCHAR型欄位時,你不需要為剪掉你數據中多餘的空格而操心。
VARCHAR型欄位的另一個突出的好處是它可以比CHAR型欄位占用更少的記憶體和硬碟空間。當你的資料庫很大時,這種記憶體和磁碟空間的節省會變得非常重要.
雖然VARCHAR使用起來較為靈活,但是從整個系統的性能角度來說,CHAR數據類型的處理速度更快,有時甚至可以超出VARCHAR處理速度的50%。因此,用戶在設計資料庫時應當綜合考慮各方面的因素,以求達到最佳的平衡。

特點


1、使用比固定長度類型(char)占用更少存儲空間(除了使用ROW_FORMAT=FIXED創建的MyISAM表)。
2、使用額外的1-2位元組來存儲值長度,列長度<=255使用1位元組保存,其它情況使用2位元組保存。例如varchar(10)會占用11位元組存儲空間,varchar(500)會占用502位元組存儲空間。
3、節約空間,所以性能會有幫助。在更新的時候會產生額外的工作。
4、5.0以上版本,取值或設定值都會保存字元串末尾的空格,4.1之前的版本都會把字元串末尾的空格刪除掉。
5、最大長度遠大於平均長度,很少發生更新的時候適合使用varchar,因為碎片更少了。

char特點


1、使用固定長度。
2、保存的時候會去掉字元串末尾的空格。
3、適合保存MD5後的哈希值或經常改變的值,因為固定的行不容易產生碎片。

示例

char去掉字元串末尾的空格示例:
varchar
varchar不會去掉字元串末尾的空格示例:
varchar

相關詞條

熱門詞條

聯絡我們