求助:从“商品访问记录表”生成“商品关联关系表“的算法。
其实就是想实现在一种类似的“访问过该商品的用户还访问过。。。”这样的功能。现在商品访问记录表及数据已经存在,如下:
商品访问记录表 a
IP(访问者的IP) productId(访问过的商品ID号) visitTime(访问时间)
想做一段自动运行程序,从 商品访问记录表 a 中生成如下表
商品关联关系表 b
productId(商品ID) reProductId(关联商品ID) times(关联次数)
目前有一段程序,效率很低,每天运行一次处理前一天的数据,大致思想是这样的:
首先 DICTINCT 出前一天在 商品访问记录表 a易做图有多少个IP,然后循环每一个IP,在每次循环中先把这个IP访问过的商品的的关联关系从 商品关联关系表 b 表一次性取出,然后再循环每一个商品相对应于其它的IP,如果原来有关系则加1没有则添加关系。
算法很笨,网站的访问量很大,执行一次都很费时间,希望能改进此算法!!
--------------------编程问答-------------------- 基础表不够 --------------------编程问答-------------------- 循环每一个商品相对应于其它的IP?这样效率很忙。 --------------------编程问答-------------------- 怎么会不够呢??表A是意思是,假如一个 10.10.10.1 的IP 访问过ID号为:1,2,3的商品,那表中的记录就为
IP PRODUCTID visitTime
10.10.10.1 1 2008.4.7
10.10.10.1 2 2008.4.7
10.10.10.1 3 2008.4.7 --------------------编程问答-------------------- 怎么会不够呢??表A是意思是,假如一个 10.10.10.1 的IP 访问过ID号为:1,2,3的商品,那表中的记录就为
IP PRODUCTID visitTime
10.10.10.1 1 2008.4.7
10.10.10.1 2 2008.4.7
10.10.10.1 3 2008.4.7 --------------------编程问答-------------------- 不管原来有没有关系直接添加,然后定时处理重复信息 --------------------编程问答-------------------- 有用户表,有产品表,加个关系表,当用户访问一个产品后,直接添加到关系表一条记录。
--
你说每天运行一次处理前一天的数据,这样效果不好 --------------------编程问答-------------------- 不知道你有没有听明白我的意思,也不知道我理解的对不对! --------------------编程问答-------------------- 不好意思,我要下线了 --------------------编程问答-------------------- 顶
补充:.NET技术 , ASP.NET