濮阳杆衣贸易有限公司

主頁 > 知識庫 > Postgresql 數(shù)據(jù)庫 varchar()字符占用多少字節(jié)介紹

Postgresql 數(shù)據(jù)庫 varchar()字符占用多少字節(jié)介紹

熱門標簽:辦公外呼電話系統(tǒng) 重慶自動外呼系統(tǒng)定制 外呼調(diào)研系統(tǒng) 海豐有多少商家沒有地圖標注 地圖標注和圖片名稱的區(qū)別 漯河外呼電話系統(tǒng) 美容工作室地圖標注 打電話智能電銷機器人授權 合肥公司外呼系統(tǒng)運營商

如下所示:

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頁(數(shù)據(jù)庫的最小單位)

8頁 = 1區(qū) = 64KB(記不清磁頭一次取1區(qū)還是1頁數(shù)據(jù)了)

pg_relation_size()函數(shù)用于查詢表占用空間.

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

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

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

一般數(shù)據(jù)庫都是UTF-8編碼.

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

另外

1KB = 1024B = 1024Bytes

1Bytes = 1B = 8bit

補充:postgres數(shù)據(jù)庫varchar類型的最大長度

在分析一個場景時,postgres中的一個字段存儲很長的字符串時,是否可能存在問題。被問到varchar類型的最大長度,不是很清楚。

查了一下,記錄一下。

名字 描述
character varying(n), varchar(n) 變長,有長度限制
character(n), char(n) 定長,不足補空白
text 變長,無長度限制

簡單來說,varchar的長度可變,而char的長度不可變,對于postgresql數(shù)據(jù)庫來說varchar和char的區(qū)別僅僅在于前者是變長,而后者是定長,最大長度都是10485760(1GB)

varchar不指定長度,可以存儲最大長度(1GB)的字符串,而char不指定長度,默認則為1,這點需要注意。

text類型:在postgresql數(shù)據(jù)庫里邊,text和varchar幾乎無性能差別,區(qū)別僅在于存儲結構的不同。

對于char的使用,應該在確定字符串長度的情況下使用,否則應該選擇varchar或者text。

其他人說的最大長度是10485760,我不是DBA,也沒做過這個實驗。但是有疑問,編碼格式不為UTF-8時,是否還是10485760?

text類型是挺好用的,假如需要存儲一個復雜且結構可能會變化的數(shù)據(jù),搞成json字符串存儲到text里也是很好的。感覺成了MongoDB

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • postgresql 查詢字符串中是否包含某字符的操作
  • PostgreSQL 使用raise函數(shù)打印字符串
  • PostgreSQL 字符串拆分與合并案例
  • PostgreSQL去掉表中所有不可見字符的操作
  • 解決postgresql 數(shù)字轉(zhuǎn)換成字符串前面會多出一個空格的問題
  • postgreSQL 數(shù)字與字符串類型轉(zhuǎn)換操作
  • Postgresql 數(shù)據(jù)庫轉(zhuǎn)義字符操作

標簽:衡陽 烏海 蚌埠 來賓 晉城 株洲 錦州 珠海

巨人網(wǎng)絡通訊聲明:本文標題《Postgresql 數(shù)據(jù)庫 varchar()字符占用多少字節(jié)介紹》,本文關鍵詞  Postgresql,數(shù)據(jù)庫,varchar,字符,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Postgresql 數(shù)據(jù)庫 varchar()字符占用多少字節(jié)介紹》相關的同類信息!
  • 本頁收集關于Postgresql 數(shù)據(jù)庫 varchar()字符占用多少字節(jié)介紹的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    陆川县| 封丘县| 惠水县| 额敏县| 突泉县| 甘德县| 桂平市| 开原市| 惠水县| 临海市| 葫芦岛市| 温宿县| 诏安县| 金阳县| 平遥县| 类乌齐县| 东宁县| 新泰市| 资阳市| 乌兰察布市| 陇南市| 井冈山市| 灵川县| 本溪市| 外汇| 滦南县| 甘孜| 师宗县| 文山县| 清远市| 仪征市| 拉萨市| 安徽省| 香港| 汤阴县| 含山县| 得荣县| 孙吴县| 霍城县| 漳浦县| 遂平县|