我拥有一张包含数百万条记录的表格。每条记录都会将用户的浏览行为保留为一个项目。喜欢
>BrowseRecordTable
>| ------------------------|
>userid,itemid,operatetime
当给我一个项目ID(itmeid1)时,现在我想找出谁浏览这个项目也浏览。
这是我做的:
①,从BrowseRecordTable中选择所有记录,其中itemid = itemid1
②,为每条记录,获取userid(temp_userid),
然后从BrowseRecordTable中选择记录,其中userid = temp_userid
半小时。
当BrowseRecordTable非常大时。有一些麻烦。
如果①中有数千条物品的记录
那么我需要在②中选择BrowseRecordTable数千次
如果有更好的方法来完成我的任务?
答案 0 :(得分:1)
也许这样的加入?
select * from BrowseRecordTable where userid in (
select userid from BrowseRecordTable where itemid=itemid1)