如何优化MySQL查询

时间:2012-03-26 11:03:13

标签: mysql

我有这个表格布局:

uuid bigint(20) unsigned primary auto_increment
timestamp int(11) unsigned
name varchar(255)
type enum('A','B')
subtype varchar(255)

我坚持查询,我目前使用的是:

SELECT name, COUNT(*) as count FROM table GROUP BY name

在此之后,我为每个'name'运行一个循环,以获得类型为'B'的条目数量,然后再为每个子类型。但是这最终会产生大约500k的查询,而且太多了,必须有一种更简单的方法来做到这一点,但我对这个数据库的东西真的很新......

2 个答案:

答案 0 :(得分:2)

您可以在GROUP BY中使用多个值。

SELECT name, type, subtype, COUNT(*) as count FROM table GROUP BY name, type, subtype

然后,结果为数据库中的每个名称,类型,子类型组合包含一行,并包含相应的条目数。

答案 1 :(得分:0)

SELECT name, type, subtype, Count(*) FROM table GROUP BY name, type, subtype

那怎么样?