加快这个MySQL声明

d2b*_*rke 5 mysql query-optimization

我正在尝试获取存储在其中的需要采取seotc的调查计数,并完成存储的调查计数seotcresults_v2.该seotc表保存了近10万条记录,seotcresults_v2表格大约只有一半.如何加快查询速度?

SELECT 
  DISTINCT seotcresults_v2.Clock, 
  COUNT(seotc.Id) AS Surveys, 
  COUNT(seotcresults_v2.Id) AS Complete 
FROM seotc 
JOIN seotcresults_v2 ON seotcresults_v2.Clock = seotc.Clock
WHERE seotcresults_v2.CampusID = 40
AND seotcresults_v2.Term = 201011
ORDER BY seotc.Clock
Run Code Online (Sandbox Code Playgroud)

更新:

感谢所有的回复.表格结构(最低限度)如下:

seotc:| Id | 时钟| CampusID | 期限|

seotcresults_v2:| Id | 时钟| CampusID | 期限| Q1 | Q2 | ...等等

Id 是调查和调查结果的每个表中的自动递增索引

其中' Clock'是教师的ID,可以在seotcseotcresults_v2表中多次找到,因为他们有多个班级,并为多个学期的每个班级完成了多个调查.我基本上试图根据给定学期中给定学校的教师的调查数量与给定相同参数的结果数量来确定响应率.这有帮助吗?

我将尽快尝试运行EXPLAIN.

Eig*_*uru 4

首先要检查的是:WHERE 子句列是否已建立索引?

然后:您是否需要 ORDER BY,这是一种排序,而且价格昂贵。

最后,.clock 列是否已建立索引?