資料庫中char和varchar的區別

2021-08-17 02:41:15 字數 708 閱讀 4748

1.char的長度是固定的,而varchar2的長度是可以變化的, 比如,儲存字串「abc",對於char (10),表示你儲存的字元將佔10個位元組(包括7個空字元),而同樣的varchar2 (10)則只占用3個位元組的長度,10只是最大值,當你儲存的字元小於10時,按實際長度儲存。 

2.char的效率比varchar2的效率稍高。

3.目前varchar是varchar2的同義詞。工業標準的varchar型別可以儲存空字串,但是oracle不這樣做,儘管它保留以後這樣做的權利。oracle自己開發了乙個資料型別varchar2,這個型別不是乙個標準的varchar,它將在資料庫中varchar列可以儲存空字串的特性改為儲存null值。如果你想有向後相容的能力,oracle建議使用varchar2而不是varchar。

何時該用char,何時該用varchar2?

char與varchar2是一對矛盾的統一體,兩者是互補的關係.

varchar2比char節省空間,在效率上比char會稍微差一些,即要想獲得效率,就必須犧牲一定的空間,這也就是我們在資料庫設計上常說的『以空間換效率』。

varchar2雖然比char節省空間,但是如果乙個varchar2列經常被修改,而且每次被修改的資料的長度不同,這會引起『行遷移』(row migration)現象,而這造成多餘的i/o,是資料庫設計和調整中要盡力避免的,在這種情況下用char代替varchar2會更好一些。

MySQL資料庫中CHAR與VARCHAR之爭

在資料庫中,字元型的資料是最多的,可以佔到整個資料庫的80 以上。為此正確處理字元型的資料,對於提高資料庫的效能有很大的作用。在字元型資料中,用的最多的就是char與varchar兩種型別。前面的是固定長度,而後面的是可變長度。現在我們需要考慮的是,在什麼情況下使用char字元型資料,什麼情況下採用...

MySQL資料庫中CHAR與VARCHAR之爭

在資料庫中,字元型的資料是最多的,可以佔到整個資料庫的80 以上。為此正確處理字元型的資料,對於提高資料庫的效能有很大的作用。在字元型資料中,用的最多的就是char與varchar兩種型別。前面的是固定長度,而後面的是可變長度。現在我們需要考慮的是,在什麼情況下使用char字元型資料,什麼情況下採用...

MySQL資料庫中CHAR與VARCHAR之爭

一 varchar與char字元型資料的差異 在mysql資料庫中,用的最多的字元型資料型別就是varchar和char.這兩種資料型別雖然都是用來存放字元型資料,但是無論從結構還是從數 據的儲存方式來看,兩者相差很大。而且其具體的實現方式,還依賴與儲存引擎。我這裡就以大家最常用的myisam儲存引...