我有一个问题,关于 Postgres 中数组列的内部处理。引擎是否将其作为具有内存分配的经典数组来处理,还是以某种方式是指针列表。
知道会很有趣 - 我有几个关于性能的问题需要回答...... :)
数组定义src/includes/utils/array.h
以及src/backend/utils/adt/arrayfuncs.c
和其他array*
文件中src/backend/utils/adt/
。
数组是一个VARLENA
(参见src/backend/utils/adt/varlena.c
),它是一个palloc()
'd 类型,一个围绕 的范围存储包装器malloc()
。数组是块分配的数据,而不是链表。
归档时间: |
|
查看次数: |
456 次 |
最近记录: |