我的网站有一个电影数据库,我正在重新设计它以提高它的效率。
movies
表有一个名为countries
的字段。此时,值存储在 varchar
中,使用 csv。例如:
Spain,France,Germany
这是非常低效的。例如,很难选择来自法国
的所有电影。
我不能使用 set
因为有超过 64 个不同的国家。
我可以创建一个国家表和另一个将 id_country
与 id_movie
链接起来的表。但随后我需要创建另一个 join
来获取电影数据(就像我对 Actor 或导演所做的那样)。
有什么建议吗?哪种方式可能是存储国家/地区信息的最佳方式?
最佳答案
在我看来,SET(非规范化解决方案)使事情变得更加复杂。
使用 JOIN 并不符合“复杂性”的标准,它是数据库的用途和擅长的。
如果您需要维护元素的定义顺序,则必须向该查找表添加一个额外的“排序”列。
关于mysql - 存储大于 64 的 SET 的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10848780/