- 博客(394)
- 资源 (6)
- 收藏
- 关注
原创 Citus源码(2)分布式读流程分析与基础概念梳理(shardid、placementid、groupid)
本篇尝试分析几部分内容:1. 插件挂入内核的位置。2. 插件中几个主要函数的大体功能总结。3. 一个简单的SELECT DQL查询分布式表的执行流程。
2025-04-01 16:35:41
714
原创 Citus源码(1)分布式表行为测试
1. 最近对citus的实现非常好奇,本篇对citus的行为做一些测试。2. 本篇只测行为,不分析源码。后面会继续写一系列文章分析citus源码。
2025-03-25 17:51:06
568
原创 Postgresql源码(142)子查询提升pull_up_sublinks
Postgresql源码(142)子查询提升pull_up_sublinks
2025-03-24 22:27:25
805
原创 准确理解valgrind中callgraph的结果含义
valgrind虚拟了程序的运行环境,以大幅降低程序性能为代价,提供准确的函数调用次数、调用关系、执行时间等信息,在一些需要精确分析性能的场景非常有效。
2025-02-07 15:24:22
258
原创 Postgresql源码(140)理解PG的编译流程(make、Makefile、Makefile.global.in)
理解Postgresql的编译流程。
2025-01-21 17:57:40
971
原创 Varints变长整数编码分析
Varints在Protobuf wire format中最重要的编码方式,整形、字符串等类型的编码底层都会使用Varints。
2024-11-19 21:05:33
661
原创 Postgresql源码(138)alter table增加列的执行流程分析
alter table 逻辑比较繁琐,但并不复杂,这里以增加列为例简单梳理流程。
2024-11-13 10:40:26
667
原创 Postgresql源码(135)生成执行计划——Var的调整set_plan_references
生成执行计划中对var引用的调整set_plan_references
2024-06-06 15:47:53
1139
原创 Postgresql源码(133)优化器动态规划生成连接路径的实例分析
物理算子的生成分为两步,基表的扫描路径生成set_base_rel_pathlists;连接路径生成(make_rel_from_joinlist动态规划)。本篇简单分析实现。
2024-05-22 18:05:01
1435
原创 Postgresql源码(132)分布式行锁的原理分析
PG中的行锁在上一片中做了分析,本篇对分布式PG(PGXL)中的行锁做一些分析。(版本:Postgres-XL 10alpha2)
2024-05-21 20:16:28
1368
3
原创 Postgresql源码(131)行锁的原理分析
行锁是一种用于控制并发访问的机制,可以确保同一时间只有一个事务可以修改或删除特定的行数据。本文对行锁的原理做一些分析。
2024-05-20 18:05:10
1252
原创 Postgresql源码(129)JIT函数中如何使用PG的类型llvmjit_types
JIT函数中如何使用PG的类型llvmjit_types
2024-05-17 15:16:37
1069
原创 Postgresql中JIT函数能否inline的依据function_inlinable
在JIT inline函数的过程中,会通过函数的bc代码,经过一系列规则、成本的判断来决定函数能否Inline,本篇重点分析这段逻辑:function_inlinable。
2024-05-08 18:02:14
1034
原创 Postgresql源码(127)投影ExecProject的表达式执行分析
无论是投影还是别的计算,表达式执行的入口和计算逻辑都是统一的,这里已投影为分析表达式执行的流程。
2024-04-30 15:35:14
1201
1
原创 Postgresql源码(124)两个事务更新同一行数据时的行为和原理分析
XactLockTableWait函数、transactionid锁的一些原理和分析。
2024-02-20 00:15:00
1002
1
原创 Postgresql源码(123)事务提交时三段资源释放分析ResourceOwnerRelease
三阶段释放是指ResourceOwnerRelease函数在使用时需要调用三次,按固定顺序调用每次删除特定的资源,本篇做一些分析总结。
2024-02-19 23:45:00
1084
原创 Postgresql源码(121)事务状态中childXids的作用
子事务提交后,将xid记录到父事务的childXids,父事务的childXids就表示下面已经提交的子事务,这些子事务xid在后续mvcc计算中,会完全等效与当前的事务xid。
2024-02-18 23:15:00
588
oracle core essential internals for dbas and developers
2024-05-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人