Twitter喜欢按照建议存储过程

时间:2014-08-09 10:23:57

标签: sql sql-server performance stored-procedures

我有两张桌子:

用户

id, firstName, lastName, location (geography), facebookId

关注

userId, followerId, followDatetime

并且我想创建一个存储过程来向用户呈现建议(用户遵循),但是以有效的方式。存储过程应返回以下用户:

  1. 所有拥有Facebook ID的用户都可以在逗号分隔的FB ID列表中找到(此列表将作为参数提供给SP) - 优先级1

  2. 选择"我朋友的朋友" (我的朋友关注的用户) - 优先级2

  3. 基于位置的用户,距离为x公里 - 优先级3

  4. 所有姓名或姓氏与我的朋友相似的用户(我的朋友都是我关注的人) - 优先级4

  5. 我之前没有关注的所有其他用户,随机选择 - 优先级5

  6. 我希望结果只包含我尚未关注的用户,按优先级进行分页和排序,不会有重复的行。

    我想为每个用户检索的列如下:

    id, firstName, lastName, number of followers
    

    实现这一目标的有效方法是什么?

0 个答案:

没有答案