簡體   English   中英

在SQL Server中獲得最佳性能的最佳實踐

[英]Best practice to achieve max performance in SQL Server

效率更高(更快)的方法是:將相同的tweet兩次存儲在Tweet表中,一次存儲給user1 ,一次存儲給user2或者使用TweetFriend之間的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM