当前位置:网站首页>PG--核心技术--HOT
PG--核心技术--HOT
2022-08-11 11:32:00 【51CTO】
索引更新问题
因为多版本的原因,当PostgreSQL中更新一行时,实际上原数据行并不会被删除,只是插入了一个新行。如果表上有索引,而更新的字段不是索引的键值时,由于新行的物理位置发生了变化,仍然需要更新索引,这将导致性能下降。
引入HOT
为了解决这一问题,PostgreSQL自8.3版本之后引入了一个名为“Heap-Only Tuple”的新技术,简称HOT。使用HOT技术之后,如果更新后的行与原数据行在同一个数据块内时,原数据行会有一个指针,指向新行,这样就不必更新索引了,当从索引访问到数据行时,会根据这个指针找到新行。
HOT的原理
HOT的详细说明见下图,图中表上有一个索引,其中“索引项n”指向某个数据块的第3行。

更新第3行后使用HOT技术,索引项仍然指向原数据行(第3行),而第3行原数据行中有一个指针指向新数据行(第6行)

HOT的使用和配置
注意,如果原先的数据块中无法放下新行就不能使用HOT技术了,即HOT技术中的行之间的指针只能在同一个数据块内,不能跨数据块。所以为了使用HOT技术,应该在数据块中留出较大的空闲空间,其方法是可以把表的填充因子“fillfactor”设置为一个较小值。该参数的含义是插入数据时,表中的空间占用率到达多少后就不再插入数据了,默认值为“100”,表示不预留空间,但对于删除、插入、更新等操作较多的表来说,需要设置一个较低的值,如50%。该参数可以在建表时设置,命令如下
也可以使用ALTER TABLE命令来修改该参数配置
边栏推荐
- Tool_RE_IDA基础字符串修改
- BAT "exclusive" Internet giant Android senior engineer interview questions: 174 questions allow you to do the interview
- 阿里云 Hologres助力好未来网校实时数仓降本增效
- 六、一起学习Lua 循环
- The old saying: The interview must ask "Three handshakes, four waves", so you can't forget it
- The ceiling-level microservice boss summed up this 451-page note to tell you that microservices should be learned this way
- 从零开始配置 vim(11)——插件管理
- a-upload上传图片
- 云原生 · 镜像详解
- 蚂蚁集团开源密码学基础库 BabaSSL 正式更名“铜锁”
猜你喜欢

How long does it take to train a neural network, neural network training takes too long

从零开始配置 vim(12)——主题配置

蚂蚁集团开源密码学基础库 BabaSSL 正式更名“铜锁”

MySQL之JDBC编程增删改查

如何在游戏中实现一场下雨效果

Go-Excelize API源码阅读(七)—— CopySheet(from, to int)

Analyzes how Flink task than YARN container memory limit
![[10点公开课]:AV1编码器的优化及其在流媒体和实时通讯中的应用](/img/86/a6cd309cd66eb37159fcb8ae3338b1.png)
[10点公开课]:AV1编码器的优化及其在流媒体和实时通讯中的应用

Configuring vim(12) from scratch - theme configuration

五分钟教你内网穿透
随机推荐
Tool_RE_IDA基础字符串修改
文献阅读(185)Co-design
MySQL --- 存储引擎
MySQL --- storage engine
在这个数字化的时代,如何做好用户体验与应用性能管理
2022-08-10北京华为OD机试真题分享
How long does it take to train a neural network, neural network training takes too long
学习二叉树
【毕业设计】远程智能浇花灌溉系统 - stm32 单片机 嵌入式 物联网
EXCLUSIVE INTERVIEW | INTELLIGENCE IS SPONTANED, NOT PLANNED: Evolution Fan, Former OpenAI Research Manager and UBC Associate Professor Jeff Clune
巧用自定义函数,文本控件秒变高速缓存
HM升压IC芯片代理商
EastWave应用:负折射现象实时演示
Through the thermal lens focus on different types of gaussian model
从零开始配置 vim(12)——主题配置
【Study Notes】Unused graph theory knowledge
目标检测学习笔记——小目标检测
性能测试的环境以及测试数据构造
网络安全——nmap
5. 内部类