0
我有一個mySQL表格,每個條目代表一個玩家在特定的撲克牌手中的表現。重要的專欄是玩家和網絡。我希望建立一個「高分榜」頁面,根據總獎金顯示最好的玩家,並根據遊戲類型,時間等進行過濾。我用下面的查詢來達到的這樣:加快排名查詢
SELECT player,sum(net) AS profit FROM hands GROUP BY player ORDER BY profit DESC
不幸的是我有很多的記錄,超過200萬迄今爲止,這是查詢極其緩慢。我在「玩家」上放置了一個索引,但執行時間仍然超過7秒。有沒有希望加快mySQL的速度,還是必須以不同的方式構建這個頁面?如果後者有任何建議?
是否需要顯示所有玩家?嘗試添加一個LIMIT子句。 – NewInTheBusiness 2014-12-05 01:09:12
不,但限制不會影響性能。 – Abovestand 2014-12-05 01:14:05
否則我會建議一個預聚合表,但是由於您正在考慮基於遊戲類型,時間範圍的限制,除非存在更多常量的查詢標準基礎,否則這些限制將超出窗口。 – DRapp 2014-12-05 04:57:12