向查询添加附加联接时出现问题。
此查询几乎需要一分钟才能运行:
SELECT * FROM jos_mls AS mls
INNER JOIN jos_activeagents AS active ON mls.MSTLISTBRD = active.AGENTUID
INNER JOIN jos_agents AS agents ON active.AGENTUID = agents.AGTBRDIDMM
INNER JOIN jos_clstmp AS cl ON mls.MSTMLSNO = cl.MSTMLSNO
WHERE mls.MSTACTSTA != 'Inactive'
AND mls.MSTLISTDT >= SUBDATE(CURDATE(), INTERVAL 1 DAY)
如果我省略行 INNER JOIN jos_clstmp AS cl ON mls.MSTMLSNO = cl.MSTMLSNO
,则需要不到一秒的时间。
jos_clstmp 表只有两列。一个 key 和一个时间戳。我不认为它会给这个过程增加那么多,但它正在杀死它。
最佳答案
INNER JOIN jos_clstmp AS cl ON mls.MSTMLSNO = cl.MSTMLSNO
执行两列
mls.MSTMLSNO and cl.MSTMLSNO
有键/索引吗?
关于添加第三个 INNER JOIN 后,mySQL 查询需要更长的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16722588/