PostgreSQL 中欄位型別varchar的用法
阿新 • • 發佈:2020-12-28
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
以上為個人經驗,希望能給大家一個參考,也希望大家多多支援我們。如有錯誤或未考慮完全的地方,望不吝賜教。