我正在使用postgresql hstore扩展,并好奇数据是如何在内部存储的.请指出我在hstore源代码中查看的位置以查看实现细节.
hstore是主要的PostgreSQL发行版的一部分,它位于http://git.postgresql.org/和GitHub上.这是hstoregit head.
它看起来像存储为varlena,这意味着它像任何其他东西一样是TOASTable.缺点是整个字段需要从磁盘读取 - 至少如果它是压缩的 - 来提取密钥.
这也意味着,与任何其他正常字段值一样,更新字段的任何部分都需要将整个元组(行)的新副本写入表中,并且当旧表对任何活动不再可见时标记为旧的副本交易(参见Pg手册中的MVCC).hstore因此,对于经常变化的数据来说,大的是不可取的,因为只要它的任何部分发生变化,你就需要重写整个事物(以及包含它的行).
这些来源似乎没有太多的评论方式,以提供hstore值的结构和存储方式的概述,并且它是一个可以快速采用的宏森林.
| 归档时间: |
|
| 查看次数: |
915 次 |
| 最近记录: |