加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 数据库 > MySql > 正文

加快这个MySQL声明

发布时间:2020-05-22 21:03:57 所属栏目:MySql 来源:互联网
导读:我正在尝试获取需要采取的调查计数,这些调查存储在seotc中,并且调查计数已完成,存储在seotcresults_v2中. seotc表保存了近10万条记录,而seotcresults_v2表只保存了一半左右.如何加快查询速度?SELECT DISTINCT seotcresults_v2.Clock, COUNT(seotc.Id) AS Su

我正在尝试获取需要采取的调查计数,这些调查存储在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

更新:

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

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

SEOtcresults_v2:
| Id |时钟| CampusID |期限| Q1 | Q2 | …等等

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

其中“时钟”是教师的ID,可以在SEOtc和SEOtcresults_v2表中多次找到,因为它们有多个类,并且每个类为多个术语完成了多个调查.我基本上试图根据给定学期中给定学校的教师的调查数量与给定相同参数的结果数量来确定响应率.这有帮助吗?

我将尽快尝试运行EXPLAIN.

最佳答案 首先要检查的是:是否将WHERE子句列索引?

那么:你需要ORDER BY,这是一种排序,而且价格昂贵.

最后,.clock列是否已编入索引?

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读