2015-11-28 17 views
0

假設我有一個遊戲桌,一個Players表遊戲管理員(誰可以將遊戲系統)表,和評分表包含遊戲ID的玩家ID和得分每場比賽的水平。如何在mysql中設計和處理大表?

每場比賽有很多球員 球員不是遊戲管理員。 每個遊戲管理員都有幾個遊戲。得分表可能超過1500萬條記錄。

我有2個主意:請告訴我利弊

根據我的估算系統不會有超過100個遊戲,所以:

1,創建新表,每場比賽,以防止存儲的所有分數在一個表中

2.保持玩家和玩家在一個數據庫中的主要概況併爲每個遊戲創建新的數據庫?

哪個選項更適合? 請如果你有另一個想法與我分享。 謝謝

+0

不知道是什麼問題。但是,您是否正在檢查我們爲您提供代碼?或者是什麼? –

+0

這可能是非常罕見的情況下,即時創建數據庫(或表)可能是最佳解決方案。 –

回答

1

從查詢性能的角度來看,這兩種解決方案實質上是等價的,因此它們具有更多尺寸更小的表的事實。唯一的區別是由於三個方面的原因,第一個與訪問和連接時間有關,或者在多個數據庫加入到各個板上並從dns上游路由,特別是從dbname路由到數據庫時進行身份驗證,但這意味着對於每次訪問遊戲桌面時都應該預先設置一個新的連接。在第二種情況下,使用新的連接可能會少些,但是您應該注意,您必須在代碼中擔心要管理要訪問的表的動態標識。最後,在您可以訪問的數據庫數量方面,如果您使用託管解決方案,您通常會受到與使用權利或服務合同有關的限制。

+0

請更清楚,我真的不明白我現在應該爲這個問題?! –

+0

取決於您的需求,經驗和建築。您的Web應用程序由數據提供者託管?你的服務條款是否可以限制數據庫的訪問數量?你是個好程序員嗎?你是一個很好的系統/數據庫管理員?如果你正在尋找一些提示,我的答案可能會有用。如果您正處於評估階段,我建議您在測試/實施解決方案的原型並評估一個更真實的場景的時間段。 – scaisEdge