首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySql GROUP BY + IN性能

MySql GROUP BY + IN性能
EN

Stack Overflow用户
提问于 2015-02-08 13:31:58
回答 1查看 25关注 0票数 1

我有一个这样的查询(实际上,它是复杂查询的一部分。然而,我提取它只是为了显示我所遇到的问题)

代码语言:javascript
复制
SELECT
  bar.foo, count(1)
FROM
  bar
WHERE
  bar.baz in ("1", "2", "3", "4", "5")
GROUP BY
  bar.foo;

这个查询的问题是它是“使用临时的;使用文件排序的”

我有一个关于bar.baz的索引。然而,由于IN运算符,它看起来没有帮助。

在这种情况下,我在几个地方看到建议使用简单的where语句(bar.baz = 1)将其分解为多个查询,并使用连接。但是,它不适用于我,因为这些"1“、"2”等实际上是由子查询返回的。

我是古瑞斯。这里有没有避免文件排序的方法?

EN

回答 1

Stack Overflow用户

发布于 2015-02-08 14:03:15

我在下面的链接中找到了这个技巧:

代码语言:javascript
复制
SELECT
bar.foo, count(1)
FROM
bar
WHERE
bar.baz in ("1", "2", "3", "4", "5")
GROUP BY
bar.foo
ORDER BY NULL;

http://dev.housetrip.com/2013/04/19/mysql-order-by-null/

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

https://stackoverflow.com/questions/28390930

复制
相关文章

相似问题

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