什么更有效(更快):将相同的推文存储在Tweet
表中两次,一次user1
又一次用于user2
或使用之间的连接Tweet
并Friend
获得结果?
Tweet => Id
UserId
SenderId
JSONdata
User => Id
Friend => UserId
FriendId
加入:
SELECT TOP 20 a.* FROM Tweet a INNER JOIN Friend b ON a.SenderId = b.UserId WHERE b.UserId = {0}
或者我可以为发送者和接收者保存两次推文并使用一个简单的查询:
SELECT TOP 20 * FROM TWEET WHERE UserId = {0}
哪个更快,如果加入,那么我应该使用什么类型的索引,我很乐意听到任何建议。
谢谢