gpt4 book ai didi

mysql - 将数组保存在数据库中或制作不同的列

转载 作者:行者123 更新时间:2023-11-29 07:00:33 25 4
gpt4 key购买 nike

我正在创建一个项目,我将让某人从 20 个类别中选择最多 3 个类别。因为它总是最多 3 个类别,所以在数据库中再创建 3 个列(category_1、category_2)对我来说并没有那么多, category_3).

我想象在插入时,不是保存在 3 个不同的列中,而是将数组保存到“类别”列中。

我的问题是,在获取信息的那一刻。如果我确实让我们说搜索具有 1 个特定类别的每条记录,会更快吗?让它查看作为数组的 1 列(我想用 LIKE 或类似的东西)或查看 3 列?

我希望我的问题很清楚。谢谢。

最佳答案

不要在数据库列中存储以逗号分隔的列表(“数组”)。使用 cross-reference table .

(如果您想在数据库中强制执行“不超过 3 个类别”条件,您可以向交叉引用表中添加一个额外的列 category_number。理想情况下,您将使用检查约束将该列限制为值 1、2 和 3,但 MySQL 不支持检查约束;相反,您可以使 category_number 列成为另一个表 permitted_category_number 的外键它有三行。)

关于mysql - 将数组保存在数据库中或制作不同的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10399879/

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