假設我有遊戲桌,玩家桌和用戶桌。如何處理MySQL中的大表? (遊戲的數據庫設計)
- 每場比賽有很多玩家
- 每位玩家都有一個狀態,像「死」或「活」。所以玩家不是用戶。
- 每個玩家都有一個用戶
結構看起來很好至今。但是我想知道,如果每天可能有數千場比賽(這種比賽的持續時間很短),每場比賽有10到20名球員......我最終可能會在玩家表中獲得數百萬行比一年多。即使遊戲結束,我也需要讓每個玩家保存在桌面,因爲我希望能夠重放任何遊戲。我很擔心那個時候的表現,選擇和更新會變得越來越慢,對吧?
有什麼想法?
http://www.mysqlperformanceblog.com/2006/06/09/why-mysql-could-be-slow-with-large-tables/ – rwilliams
沒有人(字面上,沒有人)可以設計一個應用程序,將不受一些性能問題的影響。即使twitter和facebook devteams(你知道 - 他們知道他們的工作真的很好)遇到性能問題。所以我建議你從一些常見的模式開始,只要檢測到**真正**瓶頸,就改進它。 – zerkms
是的,但我更喜歡按設計做事。例如,如果我的計算結果告訴我我每天會有1M新的行數,那麼在開始之前我不得不停下來重新考慮整個事情,而不是等待它成爲每週「真正的瓶頸」後來。 – HappyDeveloper