簡體   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