您好,登錄后才能下訂單哦!
最近備考時剛好遇到這個知識點,覺得char和varchar2的不同點可以從評價算法的三個標準(空間復雜度,時間復雜度,穩定性)來區分,就mark一下。
char和varchar2都是用來存儲字符的。
內存消耗
char是固定長度字符型數據,長度以字節為單位,最小長度和默認長度都為1,最大長度為2000。
varchar2是長度變化的字符型數據,最小長度為1,最大長度為4000。
varchar2的長度取決于存儲的字符串長度,char是固定長度,多出部分用空格填充。
varchar2比char更節省空間。
效率
使用varchar2時Oracle需要進行語法分析,分析這個字段有多少個字符,所以稍微慢一點
char的效率比varchar2的效率稍高(以空間換時間)
穩定性
如果一個varchar2列經常被修改,而且每次被修改的數據的長度不同,會引起“行遷移”現象,
而造成多余的I/O,這是數據庫設計時要盡量避免的,在這種情況下用char代替varchar2會更好一點。
當我們查詢的字段使用固定長度字符型數據時,需要注意格式,查詢的字符串長度需要與數據類型長度相等,否則查不到數據。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。