加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

postgresql – hstore如何在内部存储数据?

发布时间:2020-12-13 16:06:10 所属栏目:百科 来源:网络整理
导读:我正在使用 postgresql hstore扩展,并好奇数据是如何在内部存储的.请指出我在hstore源代码中查看的位置以查看实现细节. 解决方法 hstore是主要的PostgreSQL发行版的一部分,它位于 http://git.postgresql.org/和GitHub上. Here is hstore in git head. 它看起
我正在使用 postgresql hstore扩展,并好奇数据是如何在内部存储的.请指出我在hstore源代码中查看的位置以查看实现细节.

解决方法

hstore是主要的PostgreSQL发行版的一部分,它位于 http://git.postgresql.org/和GitHub上. Here is hstore in git head.

它看起来像存储为varlena,这意味着它像任何其他东西一样是TOASTable.缺点是整个字段需要从磁盘读取 – 至少如果它是压缩的 – 来提取密钥.

这也意味着,与任何其他正常字段值一样,更新字段的任何部分都要求必须将整个元组(行)的新副本写入表中,并将旧标记为任何活动状态不再可见时标记为过期的表交易(见Pg手册中的MVCC).因此,对于经常更改的数据而言,大型hstore是不可取的,因为每当它的任何部分发生更改时,您都需要重写整个事物(以及包含它的行).

> hstore.h
> hstore_io.c

这些来源似乎没有太多的评论方式,以提供hstore值的结构和存储方式的概述,并且它是一个可以快速采用的宏森林.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读