对于一组数据输出时判断其中一个或多个是否已被处理,怎么操作才更有效率?

BENNEE 发布于 2012/01/12 00:00
阅读 176
收藏 0

举例 http://wow.taobao.com/ 如下图

会员登录后可以在这个页面直接操作(喜欢 onclick="LikeIt(商品ID值);)某个商品, 然后交给PHP处理..

第一问,数据库应该是在用户表中增加likeit字段 还是新建likeit表记录会员ID值和商品ID值?

第二问,再次输出一组数据时如何更有效率的判断其中已被操作(喜欢)的商品ID并将其显示为"已喜欢",我能想到的是查找likeit表判断指定的会员是否已经收藏了指定的商品,还是被操作了的就直接显示为"已喜欢"?? 或者默认都显示"未喜欢"状态点击了再判断,不过这个不人性化,还有更好的方法吗?

----------------------------------------------------------------------------

问得有点啰嗦,希望大侠能指点,更有效率而无需频繁查找数据库.

加载中
0
风林火山
风林火山

第一问:你问问自己如果是在用户信息表上增加likeit字段,这个字段要多大啊,如果这个人喜欢nnn多的东西,你都放在这个likeit字段下?总有溢出的一天。

第二问:我让你绕晕了,感觉像郭德纲相声:你是喜欢呢,还是喜欢呢,还是喜欢呢。

0
风林火山
风林火山
第二问,看系统缓存规模而定,一般用户登陆后,其相关信息都放在缓存里,但是像这种动态增长的数据,如果没有很大的缓存,数据又会无限增长的,就需要自己添加逻辑判断加载一部分到缓存。这个需要对用户行为进行分析,对数据进行关联。
返回顶部
顶部