各位18CM的程序员 数据库怎么实现

75次阅读

共计 399 个字符,预计需要花费 1 分钟才能阅读完成。

MYSQL 几十万条产品数据(还会增加)几千个用户(也会增加)
用户获取一个产品后 获取一个他没有使用过的产品
在大并发的情况下
怎么设计效率最高?
我现在想法是建一个 黑名单的表 black 然后里面产品 id 和用户 ID sel-ect * from 产品 whe-re id not in(sel-ect 产品 from black where 用户 ID= 用户 ID)
但是感觉这样一旦数据庞大后而且大并发下 效率会非常低
产品 使用情况
产品 1(用户 1,用户 3,用户 4,用户 5)
产品 2(用户 2,用户 4,用户 5)
产品 3(用户 1,用户 2)
产品 4(用户 2,用户 3)
产品 5(用户 3)
产品 6(用户 4)
产品 7(用户 2,用户 5)
产品 8(用户 6)
想要
随机取出一个 用户 1 没有用过的产品

用户自己记录用过的 别的不就是没用过的这种是需要搞个中间表,但是 not in 用不了索引啊。数据量大的时候效率估计一般

正文完
 0