从数据库中随机获取独特的照片,无需重复

时间:2012-02-15 10:49:06

标签: database-design

我正在尝试创建一个网站,为用户随机检索照片,不会对特定用户重复,直到用户看到所有照片并为用户初始化记录。

我认为每个用户和照片(URL已保存)表,user_photo表,指定用户是否已经看过照片,但是如果有很多用户和很多照片,这将是一个巨大的记录。 / p>

我的问题是,是否有更好的设计可以更快更有效地检索数据。

我看到了其他问题但与特定用户处理无关。

2 个答案:

答案 0 :(得分:0)

“不重复”意味着保持状态,这意味着

之一
  • 你已经提到的一张桌子。
  • 以随机顺序选择所有照片,并保持结果缓存(网页,客户端等)

无论哪种方式,都没有优雅的解决方案......

答案 1 :(得分:0)

  1. 在DateTime类型的照片表中创建一个列。
  2. 现在,使用当前日期时间值更新所有记录。
  3. 选择具有逐个订单子句升序
  4. 的记录
  5. 当您看到记录时,使用当前日期更新相同的记录,现在使用步骤3获取下次记录。
  6. 这肯定会帮助你......

    修改

    以下是我的建议......

    1. 在从数据库中选择记录时,不要直接在user_Photo和Photo Tables之间进行内/左连接。
    2. 创建一个Temp表并插入所需的记录(我的意思是,在检索User_ID => 1的照片时,您需要选择用户ID => 1 - 此表中的照片(user_Photo表)并插入一个本地临时表。好吗?)
    3. 现在在Photo和Temp表之间进行左/内连接,以获得按条款升序Ascending的记录
    4. 希望这会对你有帮助....