[英]Best practice to achieve max performance in SQL Server
效率更高(更快)的方法是:將相同的tweet兩次存儲在Tweet
表中,一次存儲給user1
,一次存儲給user2
或者使用Tweet
和Friend
之間的join獲取結果?
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}
哪一種速度更快,如果要連接,那么我應該使用哪種類型的索引,我將很高興聽到任何建議。
謝謝
只需存儲一次數據(推文),您就不會有任何一致性問題。 除非您將其開發為繁重的OLAP系統(即數據倉庫),否則應該進行標准化。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.