我想用php构建一个5页的申请表,用户必须输入大约50个数据条目(姓名,年龄,其他详细信息...),如果表单完成,应该保存在主数据库中
我想知道,以下哪种方法表现更好:
A)完成页面后,将所有条目保存在一个大的$ _SESSION数组中。最后保存主数据库中$ _SESSION数组的所有条目
或
B)完成页面后,将所有条目保存在小型数据库中。仅在$ _SESSION数组中保存小数据库的id和用户当前在表单上的页面。最后保存$ _small数据库中的所有条目到主数据库。
我不确定在$ _SESSION数组中存储大约50个条目时是否会导致问题,特别是如果许多用户使用该表单。因此我认为 B 可能会更好。但如果没有,如果网站的性能没有差异,我不想额外努力维护一个额外的本地数据库。使用 A)或 B)时,是否应该注意其他缺点?
答案 0 :(得分:1)
首先,没有大小数据库,只有大小数据库表。每个页面都不需要单独的模式,因此在第二种方法中,您应该有多个表而不是多个数据库。
无论如何,第一种方法实际上更好,因为如果用户取消或从不跟随所有五个页面,您将在表中留下无用的信息。将条目存储在$_SESSION
中的速度也更快,因为您不必在每个表单提交后查询数据库,只需查询最后一个表单。第二种方法的唯一缺点是,如果用户离开你的页面然后返回,他们将需要从头开始输入所有内容,而在第一种方法中,他们可以从他们中断的地方继续(这是你有办法告诉用户除了使用独特的ID或电子邮件之外。仍然是第一种方法是最好的。