我在包含超过 370,000,000(是的,三亿七千万)行的数据库上的 PHP 脚本中使用以下 MySQL 查询。我知道这是非常耗费资源的,运行这个查询需要很长时间。有谁知道我可以如何优化查询或以其他更快的方式获取信息?
表信息:
games | longint, unsigned, Primary Key win | bit(1) loss | bit(1)
查询:
SELECT MID(game
,{$len},1) ASmove
, COUNT(*) ASgames
, SUM(win
) ASwins
, SUM(loss
) ASlosses
FROMgames
WHEREgame
>{$something} ANDgame
<{$something_else} GROUP BYmove
预先感谢您的帮助!
最佳答案
我唯一可以提出的建议是使用表格预先计算所有计数,并为每个游戏求和并在表格游戏时更新它> 使用触发器进行更改。
关于php - 我该如何优化这个 MySQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1205556/