mysql - php下查询数据相关性的设计
怪我咯
怪我咯 2017-04-10 14:49:00
[PHP讨论组]

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

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

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(3)
伊谢尔伦

应该说,这不是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中文网

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

大家讲道理

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号