繁体   English   中英

可以使此SQL查询运行得更快吗?

[英]Can this SQL query be made to run any faster?

我正在使用mySQL InnoDB表。 该查询很简单,但是运行时间太长。 一旦将其上传到服务器,它的运行速度甚至会变慢(更不用说这两个表的大小将不断增长)。

“作者”表的大小为3045条记录。 “书”表的大小为5,278条记录。

SELECT author.*, count( auth_id ) AS author_count
FROM author
LEFT JOIN book ON author.id = book.auth_id
GROUP BY author.id

我想知道是否可以使用一些技巧使查询运行速度至少是现在的两倍(当前运行时间大约为10.5秒-显示Web内容时永恒!)

1)这返回您想要的吗?

2)您应该在GROUP BY子句中列出SELECT子句中不在聚合函数中的所有字段(在这种情况下像COUNT,但也可以是AVG或SUM)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM