PG TOAST技术

1.Toast简介:

Toast是超长字段在PG的一个存储方式,对于用户来说不用关注这一技术的实现,完全是透明的,它会将大字段值压缩或分散为多个物理行来存储,与Oracle的CLOB,BLOB类似。

2.Toast的存储方式:

1.不是所有的数据类型都支持toast,如:date,time,boolean等不支持toast,支持toast的数据类型应当是可变长度的。

2.表中任意一个字段有toast,这个表都会有一个相关联的toast表,OID被存储在pg_class.reltoastrelid里面。

3.超出的数值会被分割成chunks,并且最多toast_max_chunk_size个byte。

4.当存储的列长度超过toast_tuple_threshold(通常是2KB),就会触发toast存储。

5.toast会压缩字段。

3.Toast的4中策略

4.Toast表额外的三个字段

5.实例

(1)创建一个表,查看该表的结构

(2)更改表的存储方式

表都会有一个相关联的toast表,如下:

这个表的名字是pg_toast_16504.。在pg_toast模式下可以查看

6.Toast表计算

查看新生成的toast表:

此时toast表没有存储空间,证明没有触发toast存储。因为此似乎remark列值长度小于2KB,所以不会触发toast存储。

此时查看列的长度

7.Toast表的优点

8.Toast表的成本统计

查看t2表(没有触发toast)的存储空间大小:

共10672KB

查看t3表(触发toast)的存储空间大小:

共1600KB左右

成本分析,不会访问toast表的成本,只会访问基表。

所以,如果表不访问toast大对象的列,toast表有优势,如果访问了toast列,例如select * 则最好不使用toast,可以把存储方式设置伟Main,不允许行外存储。

9.Oracle 大对象存储

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/18681.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vscode: console.log快捷键设置

webstorm 编辑器自带一个 console.log 的快捷方式,即 .log 然后按回车键就可以了,但是webstorm 用着用着就得找解码,还是 vscode 好啊 那 vscode有类似的方法吗,答案是必然的 在VScode中打开文件 → 首选项 → 用户代码片段 → 在…

人工智能在乳腺癌领域的最新进展|【医学AI·文献速递·05-29】

小罗碎碎念 2024-05-29|文献速递 今天分享的文章,主题是AI乳腺癌。 第三篇文章,个人觉得是今天最有借鉴价值的——临床故事接地气,工科算法赶潮流。这篇文章主要做的事情是利用多模态多组学,去区分乳腺腺病和乳腺癌&a…

[Linux打怪升级之路]-进程和线程

前言 作者:小蜗牛向前冲 名言:我可以接受失败,但我不能接受放弃 如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、进程 1…

玩转STM32-直接存储器DMA(详细-慢工出细活)

文章目录 一、DMA介绍1.1 DMA简介1.2 DMA结构 二、DMA相关寄存器(了解)三、DMA的工作过程(掌握)四、DMA应用实例4.1 DMA常用库函数4.2 实例程序 一、DMA介绍 1.1 DMA简介 DMA用来提供外设与外设之间、外设与存储器之间、存储器与…

有免费通配符证书吗?哪里可以申请?

市面上的免费SSL证书大多数为单域名证书,如果您的主域名拥有众多子域名,逐一申请单域名SSL证书不太现实,下面为介绍一款永久免费使用的通配符SSL证书申请流程 1 选择免费通配符证书提供商 免费通配符证书申请点击这里直接获取https://www.…

前端渲染页面的原理

之前一直不愿意写一篇关于原理的,因为说起来实在是太繁杂,要写得细,码字梳理,计算下来起码都要差不多三周。以前一直躲避这个事情,现在反正有时间,为了不荒废自己,那就从头捋一遍。也方便自己后…

数据分析项目有哪些实施流程?揭示从数据准备到解决方案全过程

在当今数据驱动的商业环境中,数据分析项目的成功实施对于企业洞察市场趋势、优化产品服务、提升用户体验以及增强竞争力具有至关重要的作用。特别是对于直播类应用软件这样的快速增长领域,如何通过数据分析来扩大付费用户基础、提高用户留存率&#xff0…

音视频开发10 FFmpeg 内存模型-AVPacket, AVFrame

从现有的 Packet 拷贝一个新 Packet 的时候,有两种情况: • ①两个 Packet 的 buf 引用的是 同一数据缓存空间 ,这时 候要注意数据缓存空间的释放问题; • ②两个 Packet 的 buf 引用不同的数据缓存空间 ,每个 Pac…

D2Admin:企业中后台产品前端集成方案的探索与实践

D2Admin:企业中后台产品前端集成方案的探索与实践 摘要:随着企业信息化建设的不断深入,中后台管理系统的前端技术选型与集成方案成为了关键。D2Admin作为一款完全开源免费的前端集成方案,通过采用最新的前端技术栈,提…

惠海半导体 30V-60V-100V-150VMOS管 打火机、加湿器NMOS管 高耐压

MOS管的工作原理 MOS管,即金属-氧化物-半导体场效应晶体管,是一种重要的电子元件,在电路中起着关键的作用。其工作原理主要基于半导体材料的特性以及电场对电荷的控制。 首先,MOS管的基本结构包括源极、栅极和漏极。其中&#xf…

我国赤泥年产量庞大 政策引导下赤泥绿色利用率将不断提升

我国赤泥年产量庞大 政策引导下赤泥绿色利用率将不断提升 赤泥是指从铝土矿中提炼氧化铝后产生的强碱性工业固体废渣,由于含大量氧化铁,表面呈现红色,而得名赤泥。   赤泥通常包含氧化铝、氧化铁、二氧化硅、氧化钙、碱金属及其他微量元素&…

排序专题(常见8种)【思路解析和代码实现】【2w字长文】

排序专题(常见8种) 1.排序的概念及其运用 1.1排序的概念 排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 稳定性:假定在待排序的记录序列中…

【设计模式】JAVA Design Patterns——Dependency Injection(依赖注入模式)

🔍目的 依赖注入是一种软件设计模式,其中一个或多个依赖项(或服务)被注入或通过引用传递到一个依赖对象(或客户端)中,并成为客户端状态的一部分。该模式将客户的依赖关系的创建与其自身的行为分…

ABAP WRITE换行输出

不换行: write hello world!. write 春天马上就到了!. 换行: write hello world!. write /春天马上就到了!. 换行的第二种: write: hello world! ,/,春天马上就到了!.

基于STM32实现智能水下机器人控制系统

目录 引言环境准备智能水下机器人控制系统基础代码示例:实现智能水下机器人控制系统 电机控制深度传感器数据读取IMU传感器数据读取用户界面与显示应用场景:水下探测与环境监测问题解决方案与优化收尾与总结 1. 引言 本教程将详细介绍如何在STM32嵌入式…

Comfyui导出图片的命名技巧,日期文件夹

种子序号命名:%KSampler.seed% 图片宽高序号命名:%Empty Latent Image.width%x%Empty Latent Image.height% 年月日:%date:yyyy-MM-dd% 时分秒:%date:hhmmss% 年月日种子序号:%date:yyyy-MM-dd%/%KSampler.seed%

长安杯2021年wp

背景: 2021年4月25日,上午8点左右,警方接到被害人金某报案,声称自己被敲诈数万元;经询问,昨日金某被嫌疑人诱导裸聊,下载了某“裸聊”软件,导致自己的通讯录和裸聊视频被嫌疑人获取…

免费时代到来!价格战带领AI大模型走出商业化困局?

电子发烧友网报道(文/梁浩斌)大模型厂商彻底疯狂!电商618大促刚刚开始,大模型厂商就开始轮番疯狂降价。每千Tokens的价格,从过去几分钱,再下降一个数量级至几厘,甚至还有直接开放大模型全面免费…

设计和输出一个钻石图形

只能对字符数组的元素赋值,而不能用赋值语句对整个数组赋值。如 char c[5]; c {C,h,P,n,a}; //错误,不能对整个数组一次赋值 c[0]C; c[1]h; c[2]i; c[3]n; c[4]a; //正确,分别对数组元素…

重生奇迹mu卡智力的方法

1、准备3个号A打手,B智力MM,C随意。 2、使用C匹配组队,但是不能选择自动进入队伍。 3、用A申请C的队伍,但是C不做通过处理。 4、用A组B,用快捷键D的方式。 5、所谓的卡智力就是智力MM可以给打手加属性加血,但是并不在一个队伍里享受经验,适用于MM不是…