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

大型PostgreSQL表:更好的添加列或创建新表来存储元数据?

发布时间:2020-12-13 15:59:37 所属栏目:百科 来源:网络整理
导读:我有一个大表(约200万行),每行代表一个图像.我想为每个图像存储 JSON格式的EXIF元数据.此 JSON blob每张图像大约6KB. 这个EXIF元数据不会经常被查询/使用,我想知道将它存储在一个带有两列(imageid,exifjson)的单独表中是否明显更高效,或者PostgreSQL是否只处
我有一个大表(约200万行),每行代表一个图像.我想为每个图像存储 JSON格式的EXIF元数据.此 JSON blob每张图像大约6KB.

这个EXIF元数据不会经常被查询/使用,我想知道将它存储在一个带有两列(imageid,exifjson)的单独表中是否明显更高效,或者PostgreSQL是否只处理这个问题罚款作为现有表格上的文本列.我不希望添加列来显着减慢表上的普通查询,或者数百万的6KB文本值使PostgreSQL陷入困境.

解决方法

我会把那一列作为 TOAST-ed.

ALTER TABLE ... ALTER <column> SET STORAGE <EXTERNAL|EXTENDED>;
 -- EXTERNAL - out-of-line storage,not compression[1]
 -- EXTENDED - both compression and out-of-line storage

PostgreSQL已经尝试将它用于大于~2kB的数据.

[1]“所使用的压缩技术是LZ系列压缩技术中相当简单且非常快速的成员.”

(编辑:李大同)

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

    推荐文章
      热点阅读