[英]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.