首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将数据互连到较低的数据库查询的最佳方法[通用,无特定语言]

将数据互连到较低的数据库查询的最佳方法[通用,无特定语言]
EN

Stack Overflow用户
提问于 2019-04-29 01:28:39
回答 1查看 20关注 0票数 -1

我正在制作一个接收和发送图像的机器人,我必须跟踪图像被发送到谁,所以它只发送一次。用户还可以将图像标记为不合适。

我创建了一个包含两个表的数据库:

  • userTable与userID和userName
  • imageTable与imgID、fileName、fileCRC

我只能想到:

a) add viewedBy to imageTable "user1,user213,user9“

b) add imageToView to userTable "123,545,21321,654565“

但如果我使用,就会出现这样一个问题:用户查看的图像越多,获取一个随机图像所需的时间就越长。

如果我执行b,我已经有了一个未见图像的列表,所以我可以从这里随机选择一个,然后删除id。但是如果一个用户将其标记为inappropiate,我必须循环/删除db中所有用户的id…

还有更好的办法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-29 12:01:54

您需要一个中间表来跟踪哪个用户看到了哪个图像。因此,基本上这个新表,我们称其为imageByUser,将包含一个用户id、一个图像id、不合适的布尔标志、datetime (可选,但在长期运行时会很有用)和一个生成的主键(或者您可以将用户、图像和dateseen的组合作为复合逻辑主键)。

拥有这第三个表将解决您的所有问题,因为当有人看到图像时,您只需添加新行。同样,如果他们将其标记为不适当,那么您所要做的就是将不适当的标志更新为yes。这样,您甚至可以跟踪用户碰巧看到同一图像两次的情况(只需向表中添加另一行)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55892828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档