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

 

你可能感兴趣的:(数据库技术)