使用设置类型列的多对多mysql关系是否存在这样的缺点?

时间:2013-09-07 14:50:34

标签: php mysql

我只是想知道是否有一些好的做法可以使用 SET TYPE来实现多对多关系

我有一个用户表。每个用户都有自己的爱好(多对多),书籍等。  目标是:

1)插入,更新,删除用户的爱好

2)寻找某些爱好(例如:那些爱好是电影的人)

乍一看,使用SET类型非常容易实现。

是否有足够的经验并告诉我可能有什么缺点?

问候

1 个答案:

答案 0 :(得分:0)

使用set有几个缺点。首先,它限制了集合中的元素数量。对于某些应用程序,这可能不是问题。但是,SQL多对多关系通常为“0/1到n”,而不是“0/1到n,其中n比MySQL中的set实现中允许的最大数量小一些”。< / p>

第二个缺点是集合特定于MySQL。这使得将代码移植到另一个数据库变得更加困难。

也许最重要的限制是关联表(替代方案)实际上是“SQL”的做事方式。它们非常强大,也是一个好主意。我担心set会很快导致你将值存储在逗号分隔的列表中 - 这比使用set更糟糕。

在某些情况下,集合很有用。特别是,它们非常有效,因此对于某些性能关键型应用程序而言,它们更受欢迎。