我想知道使用整数数组是否更干净或更快,而不是在m-to-m关系中创建额外的新表并使用外键来确保数据完整性。你觉得呢?你是说使用数组是不允许的吗?
实现m- n关系的数组是不允许的。
-
写出两个表之间的连接。您将注意到,现在不是以
=
作为连接条件的两个连接,而是以@>
作为连接条件的单个连接(或者数组的LATERAL unnest
,这更糟糕)。这意味着,如果表很大(即使创建一个GIN索引来支持@>
),您将减少到嵌套循环连接,这将很慢。 -
这样就不能实现引用完整性(外键约束)。