gpt4 book ai didi

mysql - 包含 70 多列的 SQL 表

转载 作者:搜寻专家 更新时间:2023-10-30 21:52:33 24 4
gpt4 key购买 nike

我正在为一家制造公司设计数据库表,其中需要的表是零件应用表(意味着该产品适用于 x 和 y 产品),我目前的问题是大多数产品线都有大约 3 到 10 个应用, 但 2 个特定行最多有 100 个应用程序。

起初我想将产品应用程序存储为逗号分隔的字符串,但这会违反第一范式。

然后我阅读了有关将所述应用程序存储为 blob 的信息,但是为了搜索优化和一般数据库性能,这似乎是不可能的。

我的问题是,有没有一种方法可以将部分应用程序存储在一个表中,而无需创建 70 多个列,同时保持正常形式而不影响性能?

最佳答案

要满足不影响性能的要求,您需要确切地知道您将运行哪些查询。

但在像这样的正常情况下,您会有很多:很多映射表...

CREATE TABLE map_part_application (
part_id INT,
application_id INT,
PRIMARY KEY (part_id, application_id)
)


INSERT INTO map_part_application VALUES (1,1)
INSERT INTO map_part_application VALUES (1,2)
...
INSERT INTO map_part_application VALUES (1,100)
INSERT INTO map_part_application VALUES (2,1)
INSERT INTO map_part_application VALUES (2,2)
...
INSERT INTO map_part_application VALUES (1,12)

我建议将这种方式作为标准做法,只有当您发现需要在构建的后期进行优化时,才去寻找其他地方。

关于mysql - 包含 70 多列的 SQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11314849/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com