如何为以下查询找到最佳索引
select msgType
, max(loggedDate)
, interfaceName
from LOG_Hl7
where direction = 'INCOMING'
group
by msgType
HAVING msgType IN ('ADT');`
当我解释的时候
最佳答案
首先,将查询编写为:
select msgType, max(loggedDate), interfaceName
from LOG_Hl7
where direction = 'INCOMING' and msgType = 'ADT'
group by msgType;
也就是说,在聚合之前过滤,而不是在聚合之后过滤。
那么最好的索引在
LOG_H17(direction, msgType, loggedDate)
上。interfaceName
只是在SELECT
子句中。MySQL允许它,但您将从任何与WHERE
子句匹配的行中获取任意值。关于mysql - 如何为选择查询找到最佳索引,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43574256/