【0435】heap toast 内核实现之 计算 toast tuple header 开销
文章目录
- 0. toast 元组头大小
- 1. tuple data 大小限制
- 2. 根据TOAST属性存储策略,进行压缩
-
- 2.1 查找最大可变长属性
- 2.2 EXTENDED 策略压缩
0. toast 元组头大小
计算 insert 或 update 动作的 toast 元组头开销,这里应该与 heap_form_tuple()保持一致。
- tuple header + tuple data
Size hoff = SizeofHeapTupleHeader; 此处宏 SizeofHeapTupleHeader → $123 = 23 byte
// htup_details.h [sizeof(HeapTupleHeaderData) = 24 byte]
#define SizeofHeapTupleHeader offsetof(HeapTupleHeaderData, t_bits