MySQL優化技巧之CHAR的使用
VARCHAR和CHAR應該說(shuō)是MySQL最常用的字符串。但不幸的是,很難精确的解釋這(zhè)些值是怎麼(me)存儲在磁盤和内存中的,因爲這(zhè)些與存儲引擎有關。
VARCHAR 是可以存儲變長(cháng)字符串。比如 v archar(32) ,可以存儲 16個字符,也可一下存儲32個字符(這(zhè)裡(lǐ)的可變長(cháng)度是在32個字符串以内,他是不能(néng)存儲64個字符的)。
CHAR類型是定長(cháng)的。比如C HAR(32),如果我們存儲16個字符長(cháng)的字符串,那麼(me)數據庫會(huì)自動的填充16個空格這(zhè)裡(lǐ),在取出時(shí)就(jiù)是32位的字符串。
對(duì)于VARCHAR和CHAR在存儲字節來看的話都(dōu)差不多,除了本身存儲位數以外,都(dōu)會(huì)有多餘字節指定長(cháng)度,所以VARCHAR與HAR越來越接近。所以很多人就(jiù)在創建表的時(shí)候全部使用VARCHAR來定義字符串。
CHAR不是越來越失去存在意義了嗎?當然不是,CHAR還(hái)是有優點的。
1、CHAR很适合存儲很短的字符串,如C HAR(1) 來存儲隻有Y和N的值。
2、CHAR合适定長(cháng),這(zhè)裡(lǐ)是定長(cháng)存儲密碼的MD5值,。
3、CHAR存儲經(jīng)常變化的定長(cháng)數據。因爲定長(cháng)CHAR在改變時(shí)不容易産生碎片。比如密碼的MD5,定長(cháng)而且容易變化。
所以在創建數據庫表時(shí),CHAR還(hái)是有自己的特色。當然VARCHAR也會(huì)不斷的修改和優化,VARCHAR也可以完成(chéng)CHAR的所以事(shì)情。如果使用不同的的類型數據,看起(qǐ)來有點高大上的感覺!别無其他目的。
- 企業官網怎麼(me)就(jiù)成(chéng)了企業的擺設? (62203)
- 企業網站建設最常見誤區分析 (60391)
- 關于網站關鍵詞選擇的一些技巧 (60234)
- 論網站頁面(miàn)靜态化和僞靜态的區别 (58287)
- 熱烈祝賀香港保險網制作完成(chéng)并交付上線 (57765)