2011年8月6日 星期六

CHAR與VARCHAR

此兩種資料型態皆用以儲存字串,並皆可設定固定的最大欄位長度。兩者最主要的不同在於,儲存於CHAR型態欄位中的所有資料,皆儲存成相當於欄位最大長度的字串(不足則以空白字元填補)。儲存於VARCHAR型態欄位的字串,儲存長度僅和字串本身相同。

  • VARCHAR欄位所佔用的磁碟空間較少。
  • 除非使用InnoDB的資料表類型,否則CHAR欄位較VARCHAR欄位的存取速度快。

就算如此,大多數情況幾乎察覺不出兩者間,在存取速度及磁碟空間上的差異性。
兩種型態間,還存在另一項較小的差異性:即使用CHAR欄位時,MySQL會於擷取資料時去除多餘的空白字元;使用VARCHAR欄位,則於新增資料時去除多餘的空白字元。
結論,若儲存於字串欄位中的資料長度固定,使用CHAR,否則請使用VARCHAR

沒有留言:

熱門文章