如何为以下查询找到最佳索引

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/

10-12 15:33