对于我需要构建的数据库(InnoDB),我有两种不同的结构,我想知道哪一个在性能方面最好。
我想存储数千种产品。每个产品都可以包含一定程度的——也可能是 0——的一种成分(它们是化学产品)。AZ 说,有 26 种不同的成分。每种成分都有自己的特点。
问题是:我如何才能最好地存储和链接成分和产品(在性能方面)?
选项 A
Products 表中的每一行都有 26 个附加字段:每种成分一个。该字段包含金额(不是引用键)。每个成分列都有一个索引,用于更快地搜索。产品和成分之间的联系只存在于程序逻辑层面。数据库中没有链接表。
选项 B
有一个包含产品的表格,以及一个包含成分的表格。表 Products 没有成分字段,而是有一个链接表,将产品链接到成分并定义数量。产品和成分之间的链接现在在 db 级别定义。这张表可能会变得非常大。
另一种选择 B 是我为每种成分制作一个链接表,因此最终得到 26 个链接表。我不确定这在搜索时是否更快......?