什么是更好的额外查询或数据库中的额外列?

s-s*_*rma 5 php mysql database

什么是更好的额外查询或数据库中的额外列,以获取可用时间非常短的数据。

示例:在子用户管理的情况下,我在主用户​​表中添加一个额外的列 super_user_id 并在用户类型为 sub_user 且默认列值为 -1 时设置为 enrty,或者我创建新表并在该表中管理子用户。

但是在登录的情况下,我必须在两个表中进行搜索,并且我必须再进行一次查询。

谢谢

Tho*_*ith 3

没有通用的答案;你必须更具体。我所能提供的只是一般原则。

\n\n

在其他条件相同的情况下,由于多种原因,您会更好地使用一个没有冗余信息的规范化数据库。但在某些情况下,冗余信息可以节省程序大量时间。一个例子是使用 Markdown 格式化的文本:您需要存储原始标记以进行编辑,但每次需要输出时格式化源可能会对系统造成极大的负担。因此,您可以添加一个冗余列来存储格式化输出,并承担确保该列保持最新的额外责任。

\n\n

我所知道的关于你的情况是假设的额外列将保存查询。对此唯一正确的答案是,您可能应该保持表干净且最小化,除非您知道保存一个查询的性能优势可以弥补这一点。请记住,过早的优化是万恶之源 \xe2\x80\x93 您可能会发现您的应用程序无论如何都运行得足够快。如果在分析时发现额外的查询是一个重要的瓶颈,那么您可能会考虑添加该列。

\n\n

再说一次,如果不更多地了解您的情况,就不可能提供具体或具体的建议,但我希望我至少帮助您做出了决定。

\n