我知道已经有一个类似的问题的答案,但我认为答案不够强大,所以我会提出我的具体问题。
假设: 动态表单构建器,用户可以创建结构未知的表单。
解决方案: 表单提交后,数据将被存储在两个表格中:
- FormSubmissionHeader表格将存储一些关于提交的基本数据(formid、userid、datetime等)
- FormSubmissionFieldsData表格(FormSubmissionHeaderID,FIELDID,FIELDVALUE)
我对这个解决方案的问题是针对大规模使用:
假设我有100万个用户,
每个用户将拥有3个表单
每个表单将有10个字段
每个表单每天将有5个提交。
因此,FormSubmissionHeader每天将增长到1百万X3X5=1500万行。
而FormSubmissionFieldsData将增加15X10(每日提交数,字段数翻倍),也就是每天1500万行。
因此,基于这个解决方案:
我不认为它能够工作。
我看到两种替代方案:
使用MONGODB存储提交的标题和数据(非关系型数据库)
动态创建表格以存储每个表单的数据,并直接在其中使用相关的数据类型。
这是我看到的一个类似的问题。
我想知道你们对此有什么看法,或者能否提出其他建议?