php - 我该如何优化这个 MySQL 查询?

标签 php sql optimization mysql

我在包含超过 370,000,000(是的,三亿七千万)行的数据库上的 PHP 脚本中使用以下 MySQL 查询。我知道这是非常耗费资源的,运行这个查询需要很长时间。有谁知道我可以如何优化查询或以其他更快的方式获取信息?

表信息:

games | longint, unsigned, Primary Key
win   | bit(1)
loss  | bit(1)

查询:

SELECT MID(game,{$len},1) AS move,
       COUNT(*) AS games,
       SUM(win) AS wins,
       SUM(loss) AS losses
FROM games
WHERE game>{$something} AND game<{$something_else}
GROUP BY move

预先感谢您的帮助!

最佳答案

我唯一可以提出的建议是使用表格预先计算所有计数,并为每个游戏求和并在表格游戏时更新它> 使用触发器进行更改。

关于php - 我该如何优化这个 MySQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1205556/

相关文章:

algorithm - 计算包含另一个间隔的间隔数?

mysql - 盲目更新还是在哪里更新?

php - 如何加载带有 php gd 库的动态图像,不将其保存在服务器上或具有 src ="script.php"?

php - 支付宝开发。加密交易。 PHP p12

php - Mysql中的Order By问题

java - 如何避免 jOOQ 中表别名的引号

php - 追溯 phpUnit 测试 : is it worth it?

mysql - 如何从总记录中获取不存在的记录为空?

sql - 使用 FileTable 通过 SQL INSERT 创建子目录

vba - MsgBox SelectionChange 定义范围