在我們?nèi)粘I钪信紶枙?huì)遇到一些自己不知道如何解決的問題,比如char和varchar區(qū)別。那么我們應(yīng)該怎樣解決這種自己不知道char和varchar區(qū)別的情況呢?那么接下來就由我來介紹一下char和varchar區(qū)別吧。
區(qū)別一:
首先明確的是,baichar的長(zhǎng)度是du不可變的,zhi而varchar的長(zhǎng)度是可變的,
區(qū)別二:
定義一個(gè)char[10]和varchar[10],如果存進(jìn)去的dao是‘a(chǎn)bcd’,那么char所占的長(zhǎng)度依然為10,除了字符‘a(chǎn)bcd’外,后面跟六個(gè)空格,而varchar就立馬把長(zhǎng)度變?yōu)?了,取數(shù)據(jù)的時(shí)候,char類型的要用trim()去掉多余的空格,而varchar是不需要的,
區(qū)別三:
char的存取數(shù)度還是要比varchar要快得多,因?yàn)槠溟L(zhǎng)度固定,方便程序的存儲(chǔ)與查找;但是char也為此付出的是空間的代價(jià),因?yàn)槠溟L(zhǎng)度固定,所以難免會(huì)有多余的空格占位符占據(jù)空間,可謂是以空間換取時(shí)間效率,而varchar是以空間效率為首位的。
區(qū)別四:
char的存儲(chǔ)方式是,對(duì)英文字符(ASCII)占用1個(gè)字節(jié),對(duì)一個(gè)漢字占用兩個(gè)字節(jié);而varchar的存儲(chǔ)方式是,對(duì)每個(gè)英文字符占用2個(gè)字節(jié),漢字也占用2個(gè)字節(jié),兩者的存儲(chǔ)數(shù)據(jù)都非unicode的字符數(shù)據(jù)。
看了我的方法,現(xiàn)在你學(xué)會(huì)char和varchar區(qū)別了嗎?學(xué)會(huì)了的話就快快把這個(gè)方法分享出去,讓更多的人知道char和varchar區(qū)別。以上就是char和varchar區(qū)別。
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com