1
什麼是更有效的(更快):兩次存儲相同的鳴叫在Tweet
表,一旦user1
並再次user2
或使用Tweet
和Friend
之間的連接得到的結果?最佳實踐,以實現在SQL Server最大性能
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}
哪一個更快捷,如果加入那麼我應該使用什麼類型的索引,我會很樂意聽到任何建議。
感謝名單
查看[dba.SE](http://dba.stackexchange.com/),它可能更適合您的問題(雖然不確定)。 – Jeroen
高效***如何!?!?***在磁盤使用方面? - >存儲一次並鏈接它。在查詢速度方面?這是搶奪...存儲兩次可能會更快地查詢 - 但你會遇到大量的其他問題(如一致性和維護) - 是否值得呢? –
在查詢速度方面!! – Rawhi