我的网络应用提供个性化推荐。当用户开始使用它时,大约1000多行被插入到一个大的推荐表中,与数据库中的其他表相关联。用户投票的每个项目都会影响所有1000多行。
由于推荐信息仅在会话期间有用,并且由于推荐表变得越来越大,我们希望切换到更合适的方法。一旦用户会话结束,就有可能删除相关行。我想PHP会话数组或临时表对于这种情况更好?
答案 0 :(得分:1)
每个会话一个临时表会导致目录污染,所以不是真的推荐。
您是否考虑过实际保存数据,以便定期对其进行挖掘以改进建议?
答案 1 :(得分:0)
首先:考虑重新设计您的数据结构,我认为它不是最佳的。 将用户的推荐存储在表user-recommendeditem-score中:我认为不需要临时表或其他任何内容。 否则,您可以开始使用会话,但是您应该仔细地封装代码,以便在此解决方案不再可维护时更容易更改。
答案 2 :(得分:0)
我怀疑这种方法存在缺陷 - 每位用户推荐1000多条建议?他们中有多少人看起来?如果你不知道这个问题的答案 - 那么你需要花一些时间思考为什么你不知道答案。
用户投票的每个项目都会影响所有1000多行
您确定您的数据已正确规范化吗?
但暂时搁置一旁。生成/存储在数据库中的正确位置 - 关系数据库是明确设计的,并且比传统编程语言更有效地生成和维护表格数据集。