我需要3个表来记录用户活动->创建,登录和他的设备活动。
最好有1个具有公共列(ip, date, type_of_log, external_id_of_log)
的常规表和3个具有附加数据的表
要么
只有3个表具有相同的列(+附加数据)并通过UNION命令获取数据(按日期排序)?
最佳答案
这完全取决于您的目标。统一的(非规范化的)表意味着您将具有更好的性能,但要以稀疏数据(以及处理null的所有复杂性)为代价。标准化表以较低的性能为代价,为您提供了更简洁的数据,更好的关系完整性等。
这里没有“正确”的答案,这完全取决于您要实现的目标。默认情况下,我通常从完全规范化的表开始,直到提出非规范化的原因。
关于mysql - 日志表的MySQL体系结构,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47144505/