SQL数据类型SET()还是替代品?

时间:2012-08-27 11:04:56

标签: mysql sql database-design database-schema sqldatatypes

我想这个问题很基础,但是那些是最难的。

所以,我想创建一个关于汽车可以拥有的附加功能的表格,并且假设它们是5,所以汽车可以有,没有,全部,一个或一些额外的。

是否建议将set()字段与5个选项一起使用?似乎是这样做的逻辑方法,但我已经读过set()字段对大数据库中的搜索不友好。

我想到的其他选择是:

  1. 使用汽车的id和每个附加功能(如果汽车拥有所有额外功能,那么将会产生5行)的外表:

  2. 在原始内容中为每个额外添加5个额外的布尔列 表

  3. 考虑到数据库/表格会很大,哪种方法最好?

2 个答案:

答案 0 :(得分:0)

这对我来说听起来不合逻辑。对大陆使用SET()而不是汽车演员更有意义。预计额外内容会及时更改,并且您不希望每次发生更改应用程序和数据库设计。显而易见的设计是创建一个额外的表,并通过外键链接它。

答案 1 :(得分:0)

第二个绝对不是一个选择。我强烈建议反对它,因为第六个选项被引入时会发生什么?那么第七,第八等?第一是更传统和更明显的方法。高级索引结构可以通过1

为您提供良好的结果