什么是更好的额外查询或数据库中的额外列,以获取可用时间非常短的数据。
示例:在子用户管理的情况下,我在主用户表中添加一个额外的列 super_user_id 并在用户类型为 sub_user 且默认列值为 -1 时设置为 enrty,或者我创建新表并在该表中管理子用户。
但是在登录的情况下,我必须在两个表中进行搜索,并且我必须再进行一次查询。
谢谢
最佳答案
没有普遍的答案;你必须更具体。我所能提供的只是一般原则。
在其他条件相同的情况下,出于多种原因,使用没有冗余信息的规范化数据库会更好。但是在某些情况下,冗余信息可以为您的程序节省大量时间。一个例子是用 Markdown 格式化的文本:您需要存储原始标记以允许编辑,但是每次需要输出时格式化源可能会给系统带来极大的负担。因此,您可能会添加一个冗余列来存储格式化输出并承担确保该列保持最新的额外责任。
我所知道的关于你的情况是假设的额外列会保存一个查询。对此唯一正确的答案是,您应该保持表的清洁和最小化,除非您知道保存一个查询的性能优势将弥补它。请记住,过早优化是万恶之源——您可能会发现您的应用程序运行速度已经足够快了。如果在分析时发现额外的查询是一个重要的瓶颈,那么您可以考虑添加该列。
同样,如果对您的情况没有更多了解,就不可能提供具体或具体的建议,但我希望我至少帮助您做出决定。
关于php - 什么是更好的额外查询或数据库中的额外列?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1727964/