mer*_*ort 3 postgresql schema database-design
我想存储用户定义的段。一个段将由几个不同的规则组成。我想我要么创建一个单独的“规则”表,其中包含三列:属性名称、运算符和值。例如,如果细分是美国的用户,则其各自列中的规则将为“国家/地区 = 美国”。一个段可以有很多规则。
另一个选项是通过 Postgres 将这些作为 JSONB 存储在段表的“规则”列中。我会遵循与上面类似的模式,并使用一系列规则或其他东西。每种方法的优点和缺点是什么?
也许这两种方法都不是正确的方法。
选择基本上取决于您希望读取数据的方式。
如果出现以下情况,您最好使用 JSON:
WHERE)通过规则进行过滤GROUP BY)SELECT ..., Rules)如果满足这些要求,您可以将数据存储为 JSON,从而消除 JOIN 和子选择,消除规则上主键和索引的开销等。
但如果您不满足这些要求,您应该将数据存储在通用的关系设计中 - 您的方法 1。
| 归档时间: |
|
| 查看次数: |
2154 次 |
| 最近记录: |