永久表,临时表或php会话?

时间:2011-06-20 05:23:34

标签: sql php temp-tables

我的网络应用提供个性化推荐。当用户开始使用它时,大约1000多行被插入到一个大的推荐表中,与数据库中的其他表相关联。用户投票的每个项目都会影响所有1000多行。

由于推荐信息仅在会话期间有用,并且由于推荐表变得越来越大,我们希望切换到更合适的方法。一旦用户会话结束,就有可能删除相关行。我想PHP会话数组或临时表对于这种情况更好?

3 个答案:

答案 0 :(得分:1)

每个会话一个临时表会导致目录污染,所以不是真的推荐。

您是否考虑过实际保存数据,以便定期对其进行挖掘以改进建议?

答案 1 :(得分:0)

首先:考虑重新设计您的数据结构,我认为它不是最佳的。 将用户的推荐存储在表user-recommendeditem-score中:我认为不需要临时表或其他任何内容。 否则,您可以开始使用会话,但是您应该仔细地封装代码,以便在此解决方案不再可维护时更容易更改。

答案 2 :(得分:0)

我怀疑这种方法存在缺陷 - 每位用户推荐1000多条建议?他们中有多少人看起来?如果你不知道这个问题的答案 - 那么你需要花一些时间思考为什么你不知道答案。

  

用户投票的每个项目都会影响所有1000多行

您确定您的数据已正确规范化吗?

但暂时搁置一旁。生成/存储在数据库中的正确位置 - 关系数据库是明确设计的,并且比传统编程语言更有效地生成和维护表格数据集。