如何优化mysql查询带来了大量的行?

时间:2017-10-31 17:46:10

标签: mysql database

我真的需要你的帮助。我从我的大学做了一件工作,在我来到这里之前,我从mysql的文档中读了很多东西,搜索和搜索,但这些都没有帮助我在我的SQL查询中。看,我有这个问题:

something

我试图将索引放在where子句中但是我从来没有得到结果并需要很长时间。我可以做些什么来增加查询以使结果更快?谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

我会创建这些索引并重新排序查询

CREATE INDEX publ_pubid ON publ(pubid);
CREATE INDEX auth_pubid ON auth(pubid, nome);

SELECT a.nome, COUNT(*)
FROM (
   SELECT pubid
   FROM auth
   GROUP BY pubid
   HAVING COUNT(*) < 3
) L
LEFT JOIN publ p on L.pubid=publ.pubid
JOIN auth a on p.pubid = a.pubid
GROUP BY a.nome 
ORDER BY COUNT(*) DESC, a.nome ASC;