Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java MYSQL慢速查询_Java_Mysql_Performance - Fatal编程技术网

Java MYSQL慢速查询

Java MYSQL慢速查询,java,mysql,performance,Java,Mysql,Performance,我们的Java应用程序运行得非常慢 这种情况有多种原因,其中一个主要原因可能是应用程序中的MySQL代码使用两个不同的表来获取数据,并进行连接。是否有人能够建议如何更好地编写此查询以提高性能 选择不同的唯一ID 来自广告模块 加入广告模块上的广告。IDadvisement=广告。IDadvisement 加入广告上的advertisementschedule.idAdvertisementSchedule=advertisementschedule.idAdvertisementSchedule

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

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

选择不同的唯一ID
来自广告模块
加入广告模块上的广告。IDadvisement=广告。IDadvisement
加入广告上的advertisementschedule.idAdvertisementSchedule=advertisementschedule.idAdvertisementSchedule
在advertisementschedule.idAdScheduleGroup=adschedulegroup.idAdScheduleGroup上加入adschedulegroup
其中adschedulegroup.publisherCode='ABC';
挑选*
来自陶鲁斯托尔
加入Themestaurus
唯一的在哪里(
'18538'
,'17142'
,'11248'
,'18458'
)
空气是真实的;

哪个表是
唯一ID

更具可读性:

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开头的索引?

对于上述查询,
explain select…
显示了什么内容。将结果分享到问题中。“可能是主要原因之一”——你确定吗?引用Donald Knuth的话,“过早优化是万恶之源。”。分析代码以确保您正在优化需要优化的内容。如果延迟落在查询上-您要加入的列是否已索引?哪个DBMS?sqlserver和mysql不一样。也许可以分享更多细节。解释表格的内容和数量。告诉我们运行查询需要多长时间,以及应该有多快。您的第二个查询没有指定联接条件。它最终将成为交叉连接。