【发布时间】:2017-08-02 09:37:10
【问题描述】:
SELECT DISTINCT cl.client, cl.clientUNIQUE, (SELECT COUNT(taskUNIQUE) AS countTasks FROM tasks WHERE state='NF' AND clientUNIQUE=cl.clientUNIQUE AND status='V') AS ActiveTasks, (SELECT COUNT(projectUNIQUE ) FROM projects WHERE status='V' AND state!='end' AND clientUNIQUE=cl.clientUNIQUE) AS ActiveProjects FROM clients AS cl LEFT JOIN tasks AS tsk ON cl.clientUNIQUE=tsk.clientUNIQUE WHERE cl.status='V' AND cl.accountUNIQUE='[client]0E2D3B21D716BB71A83331558656EC47' ORDER BY ActiveTasks DESC LIMIT 10
This query takes about 5 second to run. Too many counts? Any suggestion to improve performance?
【问题讨论】:
-
查看来自新用户的this question,现在查看您的。请多加努力。
-
你的架构是什么?你的索引是什么?
-
@juergen d: 查询结果还可以,就是时间太长了。
-
@kmoser: 只在自增列上使用索引
标签: mysql