gpt4 book ai didi

mysql - 是否合并头像和资料表?

转载 作者:可可西里 更新时间:2023-11-01 08:07:50 26 4
gpt4 key购买 nike

我有两个表:

Avatars:
Id | UserId | Name | Size
-----------------------------------------------
1 | 2 | 124.png | Large
2 | 2 | 124_thumb.png | Thumb

Profiles:
Id | UserId | Location | Website
-----------------------------------------------
1 | 2 | Dallas, Tx | www.example.com

这些表可以合并成类似的东西:

User Meta:
Id | UserId | MetaKey | MetaValue
-----------------------------------------------
1 | 2 | location | Dallas, Tx
2 | 2 | website | www.example.com
3 | 2 | avatar_lrg | 124.png
4 | 2 | avatar_thmb | 124_thumb.png

这对我来说可能是一个更简洁、更灵活的设置(至少乍一看是这样)。例如,如果我需要允许“用户状态消息”,我可以在不接触数据库的情况下这样做。

但是,用户的头像将被拉取的远不止他们的个人资料信息。

所以我想我真正的问题是:
这会带来怎样的性能冲击?
合并这些表真的是个坏主意吗?

最佳答案

这几乎总是一个坏主意。你正在做的是 Entity Attribute Value 的一种形式模型。当系统需要灵活的属性系统以允许在生产中添加属性(和值)时,有时需要使用此模型。

这种类型的模型本质上是建立在元数据的基础上,而不是真正的关系数据。这可能会导致引用完整性问题、孤立数据和性能不佳(取决于相关数据量)。

一般来说,如果您的属性预先已知,您希望将它们定义为真实数据(即具有实际类型的实际列),而不是基于字符串的元数据。

关于mysql - 是否合并头像和资料表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6601053/

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