欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

mysql - php下查询数据相关性的设计

程序员文章站 2022-05-10 13:48:36
...
问题如:把看过A电影的用户同时看过的其它所有电影按照每部电影的点击率取出前10条。
这问题好如jd下的“买过aaa的人还买过产品cc...”。

目前准备用php+mysql来弄,但感觉这不是php能干的,求大牛指导!

回复内容:

问题如:把看过A电影的用户同时看过的其它所有电影按照每部电影的点击率取出前10条。
这问题好如jd下的“买过aaa的人还买过产品cc...”。

目前准备用php+mysql来弄,但感觉这不是php能干的,求大牛指导!

应该说,这不是mysql能干的。

也许你以为group by+order by能干这事,但终究你会发现其实干不了。

PS. 从IMDB上可知,截止目前,共有2877662部电影,5899065名演职员,观影人数没有准确数字,不过怎么说也有很多亿,想象下你的数据库里会放多少条记录,再想想一下当你在几个表之间JOIN的时候,数据库会累成什么样子……

PPS. 给你些参考资料
http://zh.wikipedia.org/wiki/%E5%8D%94%E5%90%8C%E9%81%8E%E6%BF%BE
http://www.quuxlabs.com/blog/2010/09/matrix-factorization-a-simple-tutorial-and-implementation-in-python/

其实这个可以不用实时统计,在后台处理所有的逻辑,如果没从都是前台请求然后去算,任何语言都会有问题

这个问题跟语言和数据库都没有关系,因为你不能实时查询,只能是寻找合适的时机,缓存相关的统计数据

相关标签: php mysql