欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2020年12月29日 14:43:46   作者:MichaelZhu  
這篇文章主要介紹了Postgresql 數(shù)據(jù)庫 varchar()字符占用多少字節(jié)介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

如下所示:

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ù)用于查詢表占用空間.

當(dāng)表創(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ū)別僅在于存儲結(jié)構(gòu)的不同。

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

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

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

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

相關(guān)文章

  • PostgreSQL中date_trunc函數(shù)的語法及一些示例

    PostgreSQL中date_trunc函數(shù)的語法及一些示例

    這篇文章主要給大家介紹了關(guān)于PostgreSQL中date_trunc函數(shù)的語法及一些示例的相關(guān)資料,DATE_TRUNC函數(shù)是PostgreSQL數(shù)據(jù)庫中用于截斷日期部分的函數(shù),文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-04-04
  • PostgreSQL存儲過程用法實戰(zhàn)詳解

    PostgreSQL存儲過程用法實戰(zhàn)詳解

    這篇文章主要介紹了PostgreSQL存儲過程用法,結(jié)合具體實例詳細分析了PostgreSQL數(shù)據(jù)庫存儲過程的定義、使用方法及相關(guān)操作注意事項,并附帶一個完整實例供大家參考,需要的朋友可以參考下
    2018-08-08
  • Postgresql去重函數(shù)distinct的用法說明

    Postgresql去重函數(shù)distinct的用法說明

    這篇文章主要介紹了Postgresql去重函數(shù)distinct的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • postgresql之使用lsn 獲取 wal文件名的實例

    postgresql之使用lsn 獲取 wal文件名的實例

    這篇文章主要介紹了postgresql之使用lsn 獲取 wal文件名的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • 使用postgresql獲取當(dāng)前或某一時間段的年月日

    使用postgresql獲取當(dāng)前或某一時間段的年月日

    這篇文章主要給大家介紹了關(guān)于使用postgresql獲取當(dāng)前或某一時間段的年月日的相關(guān)資料,在PostgreSQL中可以使用函數(shù) NOW() 來查詢當(dāng)前時間,文中通過代碼示例介紹的非常詳細,需要的朋友可以參考下
    2023-07-07
  • 如何解決PostgreSQL執(zhí)行語句長時間卡著不動不報錯也不執(zhí)行的問題

    如何解決PostgreSQL執(zhí)行語句長時間卡著不動不報錯也不執(zhí)行的問題

    某日開發(fā)同事上報一sql性能問題,一條查詢好似一直跑不出結(jié)果,查詢了n小時,還未返回結(jié)果,這篇文章主要給大家介紹了關(guān)于如何解決PostgreSQL執(zhí)行語句長時間卡著不動不報錯也不執(zhí)行問題的相關(guān)資料,需要的朋友可以參考下
    2024-02-02
  • 對PostgreSQL中的慢查詢進行分析和優(yōu)化的操作指南

    對PostgreSQL中的慢查詢進行分析和優(yōu)化的操作指南

    在數(shù)據(jù)庫的世界里,慢查詢就像是路上的絆腳石,讓數(shù)據(jù)處理的道路變得崎嶇不平,想象一下,你正在高速公路上飛馳,突然遇到一堆減速帶,那感覺肯定糟透了,本文介紹了怎樣對?PostgreSQL?中的慢查詢進行分析和優(yōu)化,需要的朋友可以參考下
    2024-07-07
  • Postgresql開啟SQL執(zhí)行語句收集過程

    Postgresql開啟SQL執(zhí)行語句收集過程

    本文介紹如何修改PostgreSQL的配置文件來啟用SQL執(zhí)行語句的日志記錄,包括打開配置文件、修改日志相關(guān)設(shè)置以及查看日志文件的方法,關(guān)鍵步驟包括刪除注釋符號、設(shè)定日志存儲路徑和文件名、選擇記錄的SQL語句類型,此操作有助于數(shù)據(jù)庫管理和問題調(diào)試
    2024-10-10
  • PostgreSQL查看帶有綁定變量SQL的通用方法詳解

    PostgreSQL查看帶有綁定變量SQL的通用方法詳解

    今天我們要探討的是 custom執(zhí)行計劃和通用執(zhí)行計劃。這一技術(shù)在 Oracle中被稱為綁定變量窺視。但 Postgresql中并沒有這樣的定義,更嚴格地說,Postgresql叫做custom執(zhí)行計劃和通用執(zhí)行計劃
    2022-09-09
  • 詳解PostgreSQL 語法中關(guān)鍵字的添加

    詳解PostgreSQL 語法中關(guān)鍵字的添加

    這篇文章主要介紹了詳解PostgreSQL 語法中關(guān)鍵字的添加的相關(guān)資料,這里說明下在parser語法解析模塊添加關(guān)鍵字,需要的朋友可以參考下
    2017-08-08

最新評論