gpt4 book ai didi

database - 在表中存储用户设置 - 如何?

转载 作者:太空狗 更新时间:2023-10-30 01:47:05 24 4
gpt4 key购买 nike

我有大约 200 个用户设置。其中包括来自用户对对象的事件的通知设置和跟踪设置。问题是如何将它存储在数据库中?每个设置应该是一行还是一列?如果列那么表将有 200 列。如果行那么大约 3 列,但每个用户 200 行 x 甚至 1000 万用户 = 不好。

那么我还能如何存储所有这些设置?

这些设置混合了文本输入和对其他表的 FK 查找。

最佳答案

序列化数据几乎总是被证明是一个坏主意,因为这样做会削弱 dbms。所有用于生产高效 dbms 的人年都将浪费在序列化的位桶上。

如果您的应用程序逻辑与每个设置 Hook ,我认为您应该将其实现为:

设置表中每个设置 1 列。这使得利用 dbms 的强大功能变得更加容易,包括约束检查、引用完整性、值的正确数据类型以及提供给优化器的大量信息。缺点是行大小会增加。

每个设置(或一组相关设置)1 个表。这具有上述所有优点,但是当您需要一次获取大部分或所有设置时,以行大小换取性能损失。当设置是可选的时,如果实际数据稀疏,此替代方案将明显更小。

此外,许多列通常是一种“气味”,这表明您没有正确规范化数据,但不一定非要这样。只有您知道您的数据。

关于database - 在表中存储用户设置 - 如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4537857/

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