char和varchar的區別?
二者都是字段的字符數據類型,這點是相同的,主要不同在于二者的存儲辦法,以及查詢。
char是固定長度的,而varchar是不固定長度的。
比如:某字段的格式為char(8)。那么這個字段的長度就是8,就算你僅僅存了一個字符a,它占用的空間也是8個長度的字符占用的空間的大小,也就是說char比較浪費存儲空間。
相對而言,varchar就是一個可以變的字符類型,比如varchar2(8)表示最長可以存8位的字符,但是如果你僅僅存了一個a,那么這個a占用的存儲僅僅為它本身占用的一個字符長度。
也就是說從存儲來說:varchar2比char節省一些空間。
從查詢來說:這個沒有實際的例子證明,但是大部分人認為char字段的查詢比varchar要快一些,但是我估計除非數據量特別大,不然這點看不太出來的。