Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 我的查询需要数年时间+;分组_Mysql_Sql_Performance - Fatal编程技术网

Mysql 我的查询需要数年时间+;分组

Mysql 我的查询需要数年时间+;分组,mysql,sql,performance,Mysql,Sql,Performance,我有一个城市和城市分类广告网站。每个分类至少有一个类别 以下是模式(此处仅包含我们需要的字段): 我试图得到每个城市每个类别的分类广告总数。我想这是一个非常基本的问题,但遗憾的是,我的查询需要数年的时间(我不是开玩笑,它在10分钟后仍在运行,tv_分类表中只有10万行) 这是我的疑问,我是否遗漏了什么 SELECT COUNT(*), c.village_id, cat.id as category FROM tv_classified c JOIN tv_classified_category

我有一个城市和城市分类广告网站。每个分类至少有一个类别

以下是模式(此处仅包含我们需要的字段):

我试图得到每个城市每个类别的分类广告总数。我想这是一个非常基本的问题,但遗憾的是,我的查询需要数年的时间(我不是开玩笑,它在10分钟后仍在运行,tv_分类表中只有10万行)

这是我的疑问,我是否遗漏了什么

SELECT COUNT(*), c.village_id, cat.id as category
FROM tv_classified c
JOIN tv_classified_category cat
GROUP BY c.village_id, cat.id;

非常感谢,

因为您没有指定
连接
条件,所以会对表执行交叉连接。因此,结果集中的行数将是另一个表中的100K*行

指定一个
join
条件,查询应该可以

SELECT COUNT(*), c.village_id, cat.id as category
FROM tv_classified c
JOIN tv_classified_category cat on cat.classified_id = c.id
GROUP BY c.village_id, cat.id;

因为您没有指定
联接
条件,所以会对表执行交叉联接。因此,结果集中的行数将是另一个表中的100K*行

指定一个
join
条件,查询应该可以

SELECT COUNT(*), c.village_id, cat.id as category
FROM tv_classified c
JOIN tv_classified_category cat on cat.classified_id = c.id
GROUP BY c.village_id, cat.id;

好吧,我完全是弱智,我怎么会错过这个。。。这是漫长的一天!谢谢你,我会尽快接受你的回答:)好吧,我完全是弱智,我怎么会错过这个。。。这是漫长的一天!谢谢,我会尽快接受你的回答:)