[英]How to count total rows GROUP BY in MySQL the fastest
我有一個示例查詢
SELECT COUNT(counts)
FROM
(SELECT COUNT(*) AS counts
FROM table AS table1
LEFT JOIN table_2 as table2 ON table2.id = table1.pr_id
WHERE table1.active = 1
GROUP BY table1.column1) as t
我得到了結果
20563
結果是正確的,但是它太慢了,我不得不等待 15 秒才能進行 1 次查詢
15秒太大了,有什么辦法可以盡快提高速度嗎?
謝謝大家!
內部計數沒有意義。 所以
SELECT COUNT(*) FROM (
SELECT DISTINCT table1.column1
FROM table AS table1
LEFT JOIN ....
WHERE ....
) as t
匹配連接條件和進一步 WHERE / DISTINCT 的索引將改進。
附注。 檢查LEFT
有意義,也許INNER JOIN
就足夠了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.