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。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- 聊聊PostgreSql table和磁盤文件的映射關系
- 淺談PostgreSQL和SQLServer的一些差異
- PostgreSQL通過oracle_fdw訪問Oracle數據的實現步驟
- SQL Server一個字符串拆分多行顯示或者多行數據合並成一個字符串
- 查看postgresql系統信息的常用命令操作