繁体   English   中英

MYSQL慢查询

[英]MYSQL Slow Query

我们的Java应用程序运行非常缓慢。

造成这种情况的原因多种多样,其中主要原因之一可能是应用程序中的MySQL代码使用两个不同的表来获取此数据并进行联接。 有谁能建议如何更好地编写此查询以提高性能?

SELECT DISTINCT uniqueId
FROM advertisementmodule
JOIN advertisement ON advertisementmodule.idAdvertisement = advertisement.idAdvertisement
JOIN advertisementschedule ON advertisement.idAdvertisementSchedule = advertisementschedule.idAdvertisementSchedule
JOIN adschedulegroup ON advertisementschedule.idAdScheduleGroup = adschedulegroup.idAdScheduleGroup
WHERE adschedulegroup.publisherCode = 'ABC';

SELECT *
FROM taurustour
JOIN searchthemestaurus
WHERE uniqueId IN (
        '18538'
        ,'17142'
        ,'11248'
        ,'18458'
        )
    AND air IS true;

哪个表中的uniqueId是?

更具可读性:

SELECT  DISTINCT uniqueId
    FROM  advertisementmodule AS m 
    JOIN  advertisement AS a
          ON m.idAdvertisement = a.idAdvertisement
    JOIN  advertisementschedule AS s
          ON a.idAdvertisementSchedule = s.idAdvertisementSchedule
    JOIN  adschedulegroup AS g
          ON s.idAdScheduleGroup = g.idAdScheduleGroup
    WHERE  g.publisherCode = 'ABC'; 

您是否有以PublisherCode 开头的索引?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM