【发布时间】:2020-03-23 11:18:27
【问题描述】:
我有一个查询显示上周第一次轮班的所有工人,它是从两个表中收集的,如下所示:
SELECT MIN(p.start_date),
CONCAT(c.first_name, ' ', c.last_name) AS 'c.fullname',
c.temp_nr
FROM contactstable c
LEFT JOIN projectlines p on c.temp_nr = p.candidate_number
WHERE c.contact_type = 'Candidate'
GROUP BY c.temp_nr
HAVING
MIN(p.start_date)
between
DATE_SUB(CURDATE(), INTERVAL (dayofweek(CURDATE())+6) DAY)
AND DATE_SUB(CURDATE() , INTERVAL (dayofweek(CURDATE())) DAY)
我的问题是查询超时,所以据我了解,我需要添加索引,但是在搜索了多个站点之后,我仍然不知道如何去做。
我正在使用 Workbench 8.0
【问题讨论】:
-
您通常
GROUP BY与您SELECT相同的列,除了那些是设置函数的参数的列。
标签: mysql sql indexing workbench