我应该为这个用例创建一个单独的表吗?
Posted
技术标签:
【中文标题】我应该为这个用例创建一个单独的表吗?【英文标题】:Should I create a separate table for this use case? 【发布时间】:2019-08-26 07:50:20 【问题描述】:我需要在第三方平台上加入我的一些商家,为此我需要发送商家详细信息以及请求参考号 (rrn)(对于每个加入请求都是唯一的)。入驻后,商家是否真正入职将由单独的验证 api 完成,这将需要我发送请求参考号。 问题是我应该在我现有的商家表中添加一个新列,还是应该创建一个单独的表来映射商家 ID 和请求 rrn,因为只有 5% 的商家会加入这个第三方?
【问题讨论】:
我建议把它放在单独的表中,现在你只有 ref_no 但将来为 onboarding_cmets 和其他添加额外的列。 同一张表中的入职状态以及另一个表中需要的其他信息,理想情况下,另一个表将在一对多场景中有用 【参考方案1】:只要商家表很小(小于 100 万),只需在表中添加一列并对其进行索引
【讨论】:
mysql 可以处理数以十亿计的索引表,使用索引就可以了【参考方案2】:我建议您将此信息存储在单独的表中。您描述了一个简单的场景,但实际场景可能更复杂:
从启动到成功之间存在时间差。 可能入职不成功。 如果商家可以“加入”,那么他们可以“退出”。 然后再次加入。换句话说,如果您正在管理流程,您应该跟踪每一种可能性。
如果您不管理流程,而商家只是告诉您他们已加入,那么将信息存储为标志就可以了。
【讨论】:
以上是关于我应该为这个用例创建一个单独的表吗?的主要内容,如果未能解决你的问题,请参考以下文章