最近備考時(shí)剛好遇到這個(gè)知識點(diǎn),覺得char和varchar2的不同點(diǎn)可以從評價(jià)算法的三個(gè)標(biāo)準(zhǔn)(空間復(fù)雜度,時(shí)間復(fù)雜度,穩(wěn)定性)來區(qū)分,就mark一下。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、成都小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了桐城免費(fèi)建站歡迎大家使用!char和varchar2都是用來存儲字符的。
內(nèi)存消耗
char是固定長度字符型數(shù)據(jù),長度以字節(jié)為單位,最小長度和默認(rèn)長度都為1,大長度為2000。
varchar2是長度變化的字符型數(shù)據(jù),最小長度為1,大長度為4000。
varchar2的長度取決于存儲的字符串長度,char是固定長度,多出部分用空格填充。
varchar2比char更節(jié)省空間。
效率
使用varchar2時(shí)Oracle需要進(jìn)行語法分析,分析這個(gè)字段有多少個(gè)字符,所以稍微慢一點(diǎn)
char的效率比varchar2的效率稍高(以空間換時(shí)間)
穩(wěn)定性
如果一個(gè)varchar2列經(jīng)常被修改,而且每次被修改的數(shù)據(jù)的長度不同,會引起“行遷移”現(xiàn)象,
而造成多余的I/O,這是數(shù)據(jù)庫設(shè)計(jì)時(shí)要盡量避免的,在這種情況下用char代替varchar2會更好一點(diǎn)。
當(dāng)我們查詢的字段使用固定長度字符型數(shù)據(jù)時(shí),需要注意格式,查詢的字符串長度需要與數(shù)據(jù)類型長度相等,否則查不到數(shù)據(jù)。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。