MySQL中VARCHAR和CHAR的區別

2021-10-08 17:19:47 字數 620 閱讀 8885

char和varchar都是用來儲存字串的,但是他們保持和檢索的方式不同。

char是屬於固定長度的字元型別,而varchar是屬於可變長度的字元型別。

由於char是固定長度的所以它的處理速度比varchar快很多。但是缺點是浪費儲存空間,讀取char型別資料時候時如果尾部有空格會丟失空格,所以對於那種長度變化不大的並且對查詢速度有較高要求的資料可以考慮使用char型別來儲存。

另外隨著mysql版本的不斷公升級,varchar資料型別的效能也在不斷改進並提高,所以在許多的應用中,varchar型別被更多的使用

建議使用固定長度的資料列代替可變長度的資料列。

目前都使用固定長度的資料行儲存,因此無論使用char或varchar列都沒有關係。兩者都是作為char型別處理。

建議使用varchar型別。對於innodb資料表,內部的行儲存格式沒有區分固定長度和可變長度列(所有資料行都使用指向資料列值的頭指標),因此在本質上,使用固定長度的char列不一定比使用可變長度varchar列效能要好。因而,主要的效能因素是資料行使用的儲存總量。由於char平均占用的空間多於varchar,因此使用varchar來最小化需要處理的資料行的儲存總量和磁碟i/o是比較好的。

MySql中varchar和varchar的區別

看了新公司的資料庫設計,有些問題思考了一下,寫這篇文章也就記錄這個問題的思考過程。首先從占用空間進行比較,varchar 10 宣告10個位元組,資料儲存時額外乙個位元組的長度字首 varchar 1000 宣告1000個位元組,如果資料長度大於255,長度字首是兩個位元組。而實際varchar資料...

mysql中char和varchar區別

結論 char 定長,效率高 varchar 不定長,效率低。char是一種固定長度的型別,varchar則是一種可變長度的型別,它們的區別是 char m 型別的資料列裡,每個值都占用m個位元組,如果某個長度小於m,mysql就會在它的右邊用空格字元補足 在檢索操作中那些填補出來的空格字元將被去掉...

MySQL中varchar 和char型別介紹

varchar 和char型別是兩種最重要的字串型別,在儲存引擎是innodb或myisam下,討論varchar和char。一 varchar型別 varchar 用於可變長字串,是最常見的字串資料型別。它比定長型別更節省空間,按照儲存的實際字串長度分配空間。varchar需使用1或2個額外位元組...