【发布时间】:2013-09-13 15:29:29
【问题描述】:
我有一个在线商店应用程序和一个包含大约 1000 件商品的数据库。
ITEM{
categories / up to 5 out of 60
types / up to 2 out of 10
styles / up to 2 out of 10
rating / 0-5
}
现在我不会创建具有预定义条件的逐项比较:
- 至少一个常见的类别 += 25分
- 至少一种常见的类型 += 25p。
- 如果第一项没有样式 += 0p。
- 如果 common 中没有样式 -= 10p。
- 对于评分差异的每个点 -= 5p。
并将结果存储在表格中。作为item_to_item_similarity.score。
现在我用一个漂亮而闪亮的 PHP 函数和类完成了整个事情..
以及计算和更新所有关系的函数。
在有 20 个项目的测试中.. 一切顺利。 但是当将测试数据增加到 1000 项时.. 导致 1000x1000 关系 服务器开始抱怨 script_time_out .. 和内存不足:)
索引、事务和预加载一些数据 .. 帮助了我一半。
有没有更聪明的方法来比较和评估这类数据?
我想代表相关的类别、样式等。
作为一组 ID,可能在一些二进制掩码中 .. 以便可以轻松比较它们
(即使在 SQL 中?)无需创建类,并且无需在数组中循环数百万次。
【问题讨论】:
-
不知道,因为您没有向我们展示您如何比较和评估的代码。
-
你
ITEM是什么符号?