这个SQL查询可以更快地运行吗?

时间:2010-10-14 01:58:14

标签: mysql

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

'author'表格大小为3,045条记录。 'book'表大小为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秒 - 显示时是永恒的网页内容!)

1 个答案:

答案 0 :(得分:0)

1)这会回归你想要的吗?

2)您应该在GROUP BY子句中列出SELECT子句中不在agregate函数中的所有字段(在本例中为COUNT,但也可以是AVG或SUM)。