我必须在postgresql中实现表之间的多对多关系。
default
SQL 的方法是创建:
在 postgresql 中,我可以通过三种不同的方式来做到这一点:
哪种实现会更快?
此致
PS:用法是创建包含所有data2的data1的json
表示形式
答案 0 :(得分:1)
这取决于您最终将如何使用它们。
第一个:data1/data2+relation
是一种“通用”实现,对于大多数用途来说都是快速的。它专注于实体的通用建模及其灵活性。此选项的优点在于,它可以更轻松地在模型或应用程序的将来[不可预测的]更改中生存下来。
第二个data1/data2+array
和第三个data1/data2+json
是特例,对于数量减少的情况可能很快。如果您需要优化这些解决方案,那么这些解决方案可能会很棒。但是,它们不能很好地解决其他情况,对于一般查询来说它们可能会变慢。
底线:我会[非常个人地]选择第一个,除非我有确凿的理由使用另一个。