postgresql - 对于大型数据集,在 Postgres 中,JOINS 是否比使用 JSONB 更好,反之亦然?
问题描述
这是一个简单的用例;
我的应用中有一个帖子实体和一个标签实体。我想在这里运行两种类型的查询;
- 获取标签的帖子
- 获取帖子的标签
我可以选择的两个选项是
- 帖子和标签有单独的表格。然后加入
- 在我的帖子表中添加标签作为 jsonb 列。在尝试获取标签(自然)的帖子时,我可以
@> "nature"
按帖子创建日期进行排序。当我想获取帖子的标签时,我什至不需要做任何事情。
对我来说 JSONB 感觉更容易使用和推理(来自 JS 世界)。但是,如果我采用这种方法,我无法描绘出性能权衡的图景。我知道当我不必过滤/搜索对象本身时,JSOB 会快得多。但是,如果我必须在包含 1M 条记录的帖子表中搜索 JSONB 属性,每条记录都有 20 个左右的标签怎么办?在这种情况下,加入连接会是一个性能更高的选择吗?
解决方案
推荐阅读
- angular - 如何删除 ng-select 的删除选项
- javascript - 使用文件数据(多部分/表单数据)处理时,DRF 数据未验证下一个对象
- ruby-on-rails - 如何设置嵌套在主干模型中的主干集合并将其保存到 Rails API?
- flutter - Flutter 定制的 TTS 引擎,如何在 for 循环中实现每次迭代之间的暂停
- bash - chmod +x 找不到 build.sh 文件
- html - 更改班级优先级
- spring-boot - 数据未在 Thymeleaf、Webflux 中呈现
- php - 如何从 JOIN 查询语句访问特定表中列的数据
- excel - DAX 用于按年滚动 7 天平均值到枢轴图
- javascript - TypeError:无法读取未定义 vueJS 的属性“_wrapper”