
PG/OG内核原理
文章平均质量分 80
胡萝卜及格啦
PG\OG\MYSQL learner
展开
-
autovacuum/analyze常见问题与定位方法
业务一直在执行,但是表持续膨胀,疑似不执行autovacuum,死元组未清理。原创 2024-12-12 12:47:58 · 1108 阅读 · 0 评论 -
openGauss dfx工具梳理
pg_stat_sys_tables:视图,显示pg_catalog、information_schema模式的所有命名空间中系统表的统计信息。pg_stat_all_tables:视图,将包含当前数据库中每个表的一行(包括TOAST表),显示访问特定表的统计信息。pg_statio_user_tables:视图,包含当前数据库中用户表(包括TOAST表)的I/O统计信息。pg_statio_all_tables:视图,包含当前数据库中每个表(包括TOAST表)的I/O统计信息。原创 2024-03-12 15:19:33 · 1129 阅读 · 0 评论 -
openGauss数据库段页式与代码走读
段页式。原创 2024-02-23 14:47:45 · 493 阅读 · 0 评论 -
数据库 Xlog 知识整理与代码走读
XLOG 文件是循环使用的,一旦填满一个段,它将被标记为已用,并且新的 XLOG 记录将写入下一个可用的 XLOG 段中。总的来说,XLOG 文件以固定大小的段的形式组织,通过循环使用这些段,确保了持久化记录数据库更改的机制。因为XLOG是一条条顺序写入文件的,那么每条xlog的起始位置,也就是在所有xlog文件中的偏移量,就是这条xlog的LSN,所以不难看出 LSN 是一个递增的数字。:一旦一个 XLOG 段被写满,新的 XLOG 记录将被写入下一个可用的 XLOG 段中。原创 2024-02-22 20:35:28 · 1483 阅读 · 0 评论 -
pg\openGauss数据库 PinBuffer与LockBuffer的区别
【代码】pg\openGauss PinBuffer与LockBuffer的区别。原创 2024-02-21 17:02:09 · 333 阅读 · 0 评论 -
TPC-C业务模型分析
这些权重值的设定反映了在TPC-C基准测试中不同业务对性能的重要程度,有助于对数据库系统在处理不同类型事务时的性能表现进行评估。这些表共同组成了一个完整的模拟贸易公司的数据库,用于评估数据库系统在处理类似业务场景的复杂事务负载时的性能表现。表示“新订单处理业务”的权重,权重值为45,表明在整个测试中,新建订单的业务将占据较大比重。表示“订单状态查询业务”的权重,权重值为4,表明订单状态查询在整个测试中的比重较小。表示“库存查询业务”的权重,权重值为4,表明库存查询在整个测试中的比重较小。原创 2024-02-02 09:18:20 · 648 阅读 · 0 评论 -
openGauss 数据库启动流程走读
【代码】openGauss 数据库启动流程走读。原创 2024-01-23 20:33:29 · 770 阅读 · 2 评论 -
postgres HOT机制
HOT更新机制(Heap-Only Tuples update)是PG中一种优化技术,用于解决频繁更新操作导致的空间浪费和性能下降问题。在传统的数据库系统中,更新操作通常会导致数据页膨胀和索引频繁更新,从而影响数据库的性能和空间利用效率。因此引入HOT机制,通过修改数据存储方式和访问方式,实现了更高效的更新操作和空间利用,极大地改善了数据库的性能表现。原创 2024-01-19 11:46:12 · 561 阅读 · 0 评论 -
openGauss vacuum analyze代码走读
控制vacuum速度的东西,还和几个vacuum cost、delay等参数有关。入参: stmt, 表oid, 要不要搞toast,buffer使用策略。lazy vacuum 会启动一个事物,但不会再任何页面上写自己的事务号。VACOPT_NOWAIT: 取锁时不等待。只有avc才是true。函数存在于vacuum流程中的各个点。可以被语句调用,也会被avc调用。适用范围:普通表、分区。原创 2024-01-18 16:49:28 · 678 阅读 · 2 评论 -
openGauss autovacuum autoanalyze代码走读
入参:表oid、reloption、pgclass行等的信息,计数统计信息tabentry,是否支持analyze或vacuum(allowAnalyze,allowVacuum),出餐:enable_analyze,enable_vacuum, is_internal_relation。出参:dovacuum, doanalyze, need_freeze。入参:pgclass的一行。原创 2024-01-18 16:46:39 · 592 阅读 · 0 评论 -
一文读懂pg AGG聚集算子计划与执行(更新中)
一文读懂openGauss/pg AGG聚集算子计划与执行Agg聚集算子与聚集操作(函数)基本概念执行策略聚集操作基本执行步骤与元数据计划生成与数据结构确定操作策略关键数据结构思考数据结构基本执行流程PLAIN-AGG并行执行流程grouping set\cube的执行策略代码走读如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart原创 2021-08-14 16:37:31 · 2815 阅读 · 2 评论 -
pg/og内核原理-词法语法解析(更新中)
目录概念与含义流程概览词法语法代码parsenode.hkwlist.hscan.lgram.ybison的使用查看状态机解决规约冲突plpgsql的词法与语法概念与含义一条SQL进入数据库的第一步,就是词法语法解析,那么到底什么是词法语法解析、为什么要词法语法解析,词法语法解析后生成了什么?首先我们思考,为什么要词法语法解析?其实词法语法解析,换个平易近人的称呼,也可以叫做输入处理。一条SQL字符串,里面包含的信息很多,查询的表、列、过滤条件、排序条件等等,但是这些信息都存在一个一维的字符串中,原创 2021-08-20 01:41:56 · 997 阅读 · 0 评论