1
这里是我的表格的过程:使用Codeigniter通过多步表单“传送”大量数据的最佳方法。
第1步:用户上传CSV。系统解析它并接受一些记录,否认其他一些记录。
第2步:用户可以看到有多少人被接受,有多少人没有作为确认。用户可以选择只处理来自CSV的成功记录,或一起取消处理(通过取消按钮或仅返回主页)。
现在,将“CSV”数据“保存”到第2步及以后(如果他们想继续)的最佳方式是什么?我正在考虑将所有记录存储到步骤1中的数据库中,但这会导致大量不必要的数据库活动,并可能使数据库过大并留下记录。我也在考虑如果他们选择继续第2步,那么只需要成功的记录就可以将服务器上的文件重新提取出来,但是我必须始终清理一堆所有文件(例如,如果他们只是在第2步关闭浏览器)。第三,在会话中存储会使会话过大。
在此先感谢!
出于好奇,CSV有多大? 100行? 1K? 10K? 1mil的? –
CSV文件可以有数百行。我认为几千个也是完全可能的。 –
如果是这种情况,将它们插入数据库中进行每次上传不会影响您的性能,并且看起来是理想的解决方案。如果您担心存在大量遗留记录,则可以每隔几天运行一次cron作业,清理旧的剩余记录。 –