資料庫中varchar和char的比較

2021-07-10 05:22:56 字數 899 閱讀 9343

一.資料儲存開銷

1.char(n) 是定長的,也就是當你輸入的字元小於你指定的數目時,char(8),你輸入的字元小於8時,它會再後面補空值。當你輸入的字元大於指定的數時,它會擷取超出的字元。

在程式中,會返回給你8位,後面的用空格補上;

在資料庫中,char(8),占用16個位元組(1個字元=2個位元組);

2.varchar(n) 是長度為 n 個位元組的可變長度且非 unicode 的字元資料。n必須是乙個介於1和 8000之間的數值。儲存大小為輸入資料的位元組的實際長度,而不是 n 個位元組。所輸入的資料字元長度可以為零。

二.插入資料

1.char列的null值占用儲存空間。

2. varchar列的null值不占用儲存空間。

插入同樣數量的null值,varchar列的插入效率明顯高出char列。

插入不為null的資料時,無論插入資料涉及的列是否建立索引,varchar列的插入效率也是明顯高出char列。

三.更新資料

如果更新的列上未建立索引,則char的效率低於varchar,但效率差異不大。

如果更新的列上建立索引,則char的效率低於varchar,並且效率差異很大。

四.修改結構

無論增加或刪除的列的型別是char還是varchar,操作都能較快的完成,而且效率上沒有什麼差異。

對於增加列的寬度而言,char與varchar有非常明顯的效率差異,varchar列基本上不花費時間,而修改char列需要花費很長的時間。

五.資料檢索

無論是否通過索引,varchar型別的資料檢索略優於char的掃瞄。

那實際開發中,我們使用哪種呢?

當確定字串為定長、資料變更頻繁、資料檢索需求少時,使用char;

當不確定字串長度、對資料的變更少、查詢頻繁時,使用varchar。

資料庫中varchar和nvarchar的區別

資料庫中varchar和nvarchar的區別 1 varchar是以位元組為單位儲存的,而nvarchar是以字元 佔兩個位元組 為單位儲存的。也就是說,varchar用乙個位元組儲存乙個英文本母,用兩個位元組儲存乙個中文漢字,而nvarchar得用兩個位元組儲存乙個英文本母,用兩個位元組儲存乙個...

資料庫中varchar和Nvarchar區別與聯絡

在資料庫中新建表的時候發現了字段型別有的帶n有的不帶n,那麼兩者之間有什麼區別?於是上網查詢一些資料如下 一 1 char。char儲存定長資料很方便,char欄位上的索引效率級高,比如定義char 10 那麼不論你儲存的資料是否達到了10個位元組,都要占去10個位元組的空間,不足的自動用空格填充,...

資料庫中varchar和char的區別

總結 varchar是可變長度,在儲存時,它是根據待儲存的資料長度來分配儲存空間。需要多用乙個位元組來存放長度資訊 不占用varchar指定的長度 char是固定長度,在儲存時,它是根據char指定的長度來分配儲存空間。如果待儲存的資料長度小於char規定的長度,則用空格補齊。因此varchar相比...