首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MYSQL选择查询非常慢-使用连接可能吗?

MYSQL选择查询非常慢-使用连接可能吗?
EN

Stack Overflow用户
提问于 2014-12-04 10:25:04
回答 1查看 50关注 0票数 1

这个工作查询非常慢(大约30秒执行),我看到JOIN子句可以提高速度。

不幸的是我没能使用它这是我的知识停止的地方..。

请,是否有任何方法来提高执行速度(使用联接或任何其他解决方案)?

代码语言:javascript
复制
SELECT 
DISTINCT `club`,
COUNT(`club`),
(SELECT COUNT(*) FROM `players` juniors WHERE `category` IN ('U11', 'U13', 'U15', 'U18') AND juniors.`club` = main.`club`),
(SELECT COUNT(*) FROM `players` seniors WHERE `category` IN ('O40', 'O50', 'O60', 'O70') AND seniors.`club` = main.`club`)
FROM `players` main
GROUP BY `club`

players拥有10,000名玩家。

字段club指示它们属于哪个俱乐部。

字段category表示年龄类别( 13岁以下、40岁以上、.)。

我想要一份所有俱乐部的名单,并提供以下数据:

俱乐部名称,俱乐部中的球员人数,俱乐部中的青年生人数,俱乐部的年长者人数

非常感谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-04 10:32:51

试试这个:

代码语言:javascript
复制
SELECT club, COUNT(*) AS total,
    SUM(`category` IN ('U11', 'U13', 'U15', 'U18')) AS juniors,
    SUM(`category` IN ('O40', 'O50', 'O60', 'O70')) AS seniors
FROM players
GROUP BY club

确保在clubcategory列上有索引。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27291570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档