当前位置: 首页 > wzjs >正文

郑州做网站优化价格seo外链推广工具

郑州做网站优化价格,seo外链推广工具,承装承修承试材料在哪个网站做,东莞资深网站建设0.简介 在PostgreSQL中,当更新一条记录时,传统的做法是在数据页(page)中新增一条记录,并保留原来的记录,同时需要为新增的记录增加索引项。这种做法会导致以下问题:1.效率问题:增加…

0.简介

在PostgreSQL中,当更新一条记录时,传统的做法是在数据页(page)中新增一条记录,并保留原来的记录,同时需要为新增的记录增加索引项。这种做法会导致以下问题:1.效率问题:增加索引项会消耗额外的系统资源,从而影响更新操作的效率;2.磁盘空间使用问题:随着索引项的增加,磁盘空间的占用也会相应增加。于是在PG 8.3版本引入了HOT技术,本文将对其实现原理和局限性进行详细的分析。

1.HOT优化原理

1.1 无HOT之前的数据更新

假设存在表t1,其中包含两个列id和value,其中id是主键(主键索引),表中有n条数据,其中一条id为10,在表的第m页第一个偏移,即为(m,1)。在执行update时需要在表数据中插入一条数据同时在索引页中也增加一个新的索引元组。
在这里插入图片描述

可以看到在没有HOT时进行更新会导致索引项增加占用空间和降低了更新效率。

1.2 HOT实现原理解析

HOT技术的核心思想是,在更新操作时,如果新版本的数据行与原始数据行位于同一个数据页中,并且没有更新索引字段,那么就不会产生新的索引记录。这样,就可以避免因为更新操作而频繁地更新索引,从而提高更新操作的效率。
具体来说,当满足HOT技术的触发条件时,PostgreSQL会在原始数据行的头部增加一个指针(t_ctid),指向新版本的数据行,同时对其旧元组的t_informask2标志位中设置HEAP_HOT_UPDATED,新元组的对应标志位中设置HEAP_ONLY_TUPLE 。这样,当通过索引访问数据时,就可以根据原始数据行中的指针找到新版本的数据行,而无需更新索引。

在这里插入图片描述

可以发现,其中通过原始元组记录新元组的方式实现了不需要增加索引(索引页更新)的数据更新方式,但是如果遇到了清理空间,也就是删除原始元组就需要面临如何查找新元组地址的问题,PG是通过如下方式去解决的:

1)查找索引元组。

2)根据索引元组找到指针”1“。

3)通过重定向行指针”1“找到行指针”2“。

4)通过行指针”2“找到对应元组。

在这里插入图片描述
更为详细说明可见:https://github.com/postgres/postgres/blob/master/src/backend/access/heap/README.HOT

2.HOT优化局限性和使用建议

通过上述分析我们知道要触发HOT技术,需要同时满足以下两个条件:

1)更新操作没有更新索引字段:如果更新操作涉及到了索引字段,那么就需要更新索引,此时无法触发HOT技术。
2)新版本的数据行能够容纳在同一个数据页中:如果新版本的数据行无法容纳在原始数据行所在的数据页中,那么就需要将数据行分裂到新的数据页中,并更新索引,此时也无法触发HOT技术。
所以HOT技术优势和限制如下:
1)优势:1.提高更新效率:通过避免频繁更新索引,HOT技术可以显著提高更新操作的效率;2.减少磁盘空间占用:由于不需要为每次更新操作都增加索引记录,因此HOT技术可以减少磁盘空间的占用。
2)限制:1.适用范围有限:HOT技术只适用于新版本数据行与原始数据行位于同一个数据页中的情况,如果数据行跨页更新,则无法触发HOT技术;2.受填充因子(fillfactor)影响:填充因子是一个表级参数,用于控制数据页中的空间占用率。如果填充因子设置得过高,可能会导致数据页无法容纳新版本的数据行,从而无法触发HOT技术。因此,对于频繁进行更新操作的表,可以适当降低填充因子的值来增加HOT技术的触发机会。
其应用建议如下:
1)合理设置填充因子:对于频繁进行更新操作的表,可以适当降低填充因子的值来增加HOT技术的触发机会。但是需要注意的是,过低的填充因子可能会导致数据页碎片化的问题,因此需要权衡利弊进行合理设置。
2)优化索引设计:在设计索引时,需要考虑到HOT技术的触发条件。尽量避免在更新操作中频繁更新索引字段,以提高HOT技术的触发率。

PostgreSQL技术内幕30:Heap Only Tuple(HOT)原理解析

http://www.dtcms.com/wzjs/249368.html

相关文章:

  • wordpress淘宝客采集长沙seo排名扣费
  • 成都电子商务网站建设公司seminar什么意思中文
  • 织梦手机网站有广告常见的网站推广方法有哪些
  • 网站三级分销怎么做自动的网站设计制作
  • 互动网站品牌运营方案
  • 网站建设状态栏什么是关键词推广
  • 智能网站建设找三好科技四川疫情最新消息
  • 西安网站建设麦欧科技软文发布平台
  • c语言软件开发和网站开发区别东莞网站seo公司
  • 柳城网站制作拉新推广平台
  • 郑州正规的网站制作南昌网站建设
  • wordpress 中介seo咨询
  • 实训课网站开发个人小结拉新注册app拿佣金
  • wordpress下载整站源码教育机构加盟
  • 做购物网站的公司企业网络营销方法
  • 百度怎么做网站seo 专业
  • 怎样下载建设银行信用卡网站网店运营
  • 3d网站制作厦门关键词排名推广
  • 手机端原神怎么seo关键词优化排名
  • 厦门网站建设2seo优化宣传
  • 上海娱乐场所关门亚马逊关键词快速优化
  • 做网站好的网站建设公司哪家好广西百度seo
  • 静安网站设计保定seo网站推广
  • 商城网站建设郑州关键词网站优化排名
  • 网站开发流行工具网络营销策略概念
  • win7可以做网站吗企业关键词排名优化网址
  • 网站模板插件培训课
  • Godaddy优惠码网站怎么做的b2b网站
  • 招聘网站开发方案doc怎么让百度收录我的网站
  • 网站数据库百度广告投放技巧