PostgreSQL 中字段類型varchar的用法

PostgreSql數據庫中varchar類型與sql server中字段用法有差別,PostgreSql中如果字段設置為varchar類型長度為10,則無論存字母、數字或其它符號,長度最大為10個,也就是字母和漢字占的位置是一樣的。

Sql server中如設置字段類型為nvarchar類型長度為10,則存漢字最大為5個,字母為10個,字母加漢字混合時,字母和漢字占的長度一樣

補充:Postgresql 數據庫 varchar()字符占用多少字節

如下所示:

create table tmp1
(
name varchar(3)
);
select pg_size_pretty(pg_relation_size('tmp1'));
-- 0 bytes
insert into tmp(name) values('歐陽子');
-- 8192 bytes
8192 bytes = 8KB = 1頁(數據庫的最小單位)
8頁 = 1區 = 64KB(記不清磁頭一次取1區還是1頁數據瞭)

pg_relation_size()函數用於查詢表占用空間.

當表創建的時候, 是不占空間的, 插入數據後, 數據庫至少使用1KB去保存數據, 不夠會繼續增加.(不包含MateData)

首先postgresql中varchar()保存的是字符.

即可以插入3個中文, 也可以插入三個字母或者數字.

一般數據庫都是UTF-8編碼.

在UTF-8編碼下, 一個中文 3個字節. 字母或者英文 1個字節.

另外

1KB = 1024B = 1024Bytes

1Bytes = 1B = 8bit

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。

推薦閱讀: