varchar(m)是一種比char更加靈活的數據類型,同樣用于表示字符數據,但是varchar可以保存可變長度的字符串。其中m代表該數據類型所允許保存的字符串的最大長度,只要長度小于該最大值的字符串都可以被保存在該數據類型中。
因此,對于那些難以估計確切長度的數據對象來說,使用VARCHAR數據類型更加明智。(推薦學習:MySQL視頻教程)
mysql4.1以前,VARCHAR數據類型所支持的最大長度255,5.0以上版本支持65535字節長度,utf8編碼下最多支持21843個字符(不為空)。
varchar特點
1、使用比固定長度類型(char)占用更少存儲空間(除了使用ROW_FORMAT=FIXED創建的MyISAM表)。
2、使用額外的1-2字節來存儲值長度,列長度
3、節約空間,所以性能會有幫助。在更新的時候會產生額外的工作。
4、5.0以上版本,取值或設置值都會保存字符串末尾的空格,4.1之前的版本都會把字符串末尾的空格刪除掉。
5、最大長度遠大于平均長度,很少發生更新的時候適合使用varchar,因為碎片更少了。
VARCHAR型字段的另一個突出的好處是它可以比CHAR型字段占用更少的內存和硬盤空間。當數據庫很大時,這種內存和磁盤空間的節省會變得非常重要.
雖然VARCHAR使用起來較為靈活,但是從整個系統的性能角度來說,CHAR數據類型的處理速度更快,有時甚至可以超出VARCHAR處理速度的50%。因此,用戶在設計數據庫時應當綜合考慮各方面的因素,以求達到最佳的平衡。
更多MySQL相關技術文章,請訪問MySQL視頻教程欄目進行學習!