我正在处理一个现有的 PHP/MySql/JS/Ajax Web 应用程序,它为用户处理大量的表行。这是页面当前的工作方式。
- 用户上传 LARGE csv 文件。我正在使用的测试有 400,000 行(每行有 5 列)。
- php 为这些数据创建了一个全新的表并插入了数十万行。
- 然后页面以有用的方式对这些数据进行排序/处理/显示给用户。处理包括搜索、按日期和其他行排序并重新显示它们而无需大量加载时间(这就是 JS/Ajax 的用武之地)。
我的问题是这个应用程序应该为每次上传将数据放入一个新表中,还是将每个文件的 id 放入一个大表中?我认为原始开发人员出于速度目的添加了单独的表格。速度对此非常重要。
有更快的方法吗?有没有更好的捕鼠器?有没有人对此感到厌烦?
请记住,每个 .csv 可以包含数十万行,并且每天可以上传数百个 .csv 文件。虽然它们可以在最后一次使用后大约 24 小时被删除(我在想 cron 工作有什么意见吗?)
谢谢你们!
基于评论的一些注释:
- 所有数据对于每个用户都是唯一的并且会发生变化,因此用户不会在几个小时后重新访问这些数据。只有当他们不小心关闭窗口然后又回来时,他们才会真正重新访问相同的 .csv。
- 不需要外键所有 csv 对每个用户都是私有的,不需要交叉引用。