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

來源:互聯網
上載者:User

標籤:處理   har   lib   比較   長度   檔案   ext   lob   不同   

關於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

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.