在MySQL数据库中存储大量表单提交

时间:2019-03-21 13:42:02

标签: php mysql

我创建了一个包含50-100个以上表单字段的表单(条件表单),需要将其保存在MySQL数据库中。我正在寻找一种将数据存储在MySQL数据库中的有效方法。据我所知,我有两种选择,我正在寻找最佳/最有效的方法。

选项1

创建一个包含100列的form_submissions表,并通过一个查询将其插入。

选项2

创建一个包含四列的key => value表,例如以下列:id, form_id, key, value,其中每个表单提交都根据填写的字段数查询50-100次。


通过上述选项,选项2绝对感觉更好,因为将表单数据保存在数据库中会更容易,而且(我认为)没有太大的表会导致列过多。

1 个答案:

答案 0 :(得分:2)

您的情况尚不清楚。默认方式是每个实体/表单一个表,每个属性/字段一个列(选项1)。您应该有充分的理由使用EAV模型(选项2)。但是,您的问题中没有类似的东西。 “ 100个字段”不是很多。请注意,实现体面的EAV设计根本不是一件容易的事。如果要“正确”执行,则需要实现“模式中的模式”。而且很容易出错。因此,“因为将表单数据保存到数据库中会更容易”,这是一个梦想。