添加第三个 INNER JOIN 后,mySQL 查询需要更长的时间

标签 mysql

向查询添加附加联接时出现问题。

此查询几乎需要一分钟才能运行:

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/

相关文章:

mysql - 在mysql表中组合多行值

mysql - 安装 mysql noinstall zip 存档

mysql - @Column(unique=true) 似乎不起作用

mysql 使用特殊 id 和日期字段从查询中删除

php - 理解 php 死于 mysql_error

php - 在其他表的帮助下选择 mySQL 数据

php - 登录用户在 PHP session 中切换到另一个用户

php - 没有表格的 CodeIgniter 分页

mysql - WordPress 乌尔都语评论(其他语言)

MySQL获取blob N字节