mysql中char,varchar與text類型的區別和選用


 

轉:

mysql中char,varchar與text類型的區別和選用

關於char,varchar與text平時沒有太在意,一般來說,可能現在大家都是用varchar。但是當要存儲的內容比較大時,究竟是選擇varchar還是text呢?不知道。。。。。。

text 、 char、varchar  是數據在數據庫中的存放策略問題,為了,合理
應用存儲空間,是數據庫服務器數據類型划分的方式。對於應用程序,把它們
和string對應就可以了。

於是去查閱了一些資料,順便將這三種類型做個比較:

(1)char:  char不用多說了,它是定長格式的,但是長度范圍是0~255. 當你想要儲存一個長度不足255的字符時,MySQL會用空格來填充剩下的字符。因此在讀取數據時,char類型的數據要進行處理,把后面的空格去除。

(2)varchar:  關於varchar,有的說最大長度是255,也有的說是65535,查閱很多資料后發現是這樣的:varchar類型在5.0.3以下的版本中的最大長度限制為255,而在5.0.3及以上的版本中,varchar數據類型的長度支持到了65535,也就是說可以存放65532個字節(注意是字節而不是字符!!!)的數據(起始位和結束位占去了3個字節),也就是說,在5.0.3以下版本中需要使用固定的TEXT或BLOB格式存放的數據可以在高版本中使用可變長的varchar來存放,這樣就能有效的減少數據庫文件的大小。

(3)text:與char和varchar不同的是,text不可以有默認值,其最大長度是2的16次方-1

總結起來,有幾點:

 

    1. 經常變化的字段用varchar
    2. 知道固定長度的用char
    3. 盡量用varchar
    4. 超過255字符的只能用varchar或者text
    5. 能用varchar的地方不用text           來源:http://blog.csdn.net/geniussnail/article/details/7753256


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM