如何使这个MySQL查询更快

如何使这个MySQL查询更快,mysql,Mysql,下面是我写过的最大的一个MySQL查询。正如预期的那样,当我运行MySQL服务器时,它似乎对MySQL服务器造成了相当大的损失。甚至更糟糕的是,它同时运行多个 我在查询中所做的一切都是出于我所认为的必要性,以获得已经存在的表结构所需的结果 所以我的问题是: 您能看到我可以对此查询进行任何明显的更改以提高性能吗? 我采取了哪些不需要的步骤? 任何数据库更改/时间、索引等。我能做些什么使它更容易在服务器上加载 我向互联网上的批评敞开心扉——请友善一点,或者至少是建设性的——我是新来的。:) 选择t

下面是我写过的最大的一个MySQL查询。正如预期的那样,当我运行MySQL服务器时,它似乎对MySQL服务器造成了相当大的损失。甚至更糟糕的是,它同时运行多个

我在查询中所做的一切都是出于我所认为的必要性,以获得已经存在的表结构所需的结果

所以我的问题是:
您能看到我可以对此查询进行任何明显的更改以提高性能吗?
我采取了哪些不需要的步骤?
任何数据库更改/时间、索引等。我能做些什么使它更容易在服务器上加载

我向互联网上的批评敞开心扉——请友善一点,或者至少是建设性的——我是新来的。:)

选择td.区域,
sum(COALESCE(se.勃起进尺,0))作为计数进尺,sum(COALESCE(sb.BoltUpCount,0))作为计数Boltup,sum(COALESCE(sw.WeldCount,0))作为计数Weld,sum(COALESCE(st.TrimActivities Count,0))作为计数TrimActivities,sum(COALESCE(sm.Miscities Count,0))作为计数错误活动,sum(COALESCE(ssu.SupportCount,0))作为计数支持,
(总和(合并(sb.BoltUpCount,0))+总和(合并(sw.WeldCount,0)))作为CountBasicConnection,
(总和(合并(st.TrimActivitiesCount,0))+总和(合并(sm.MiscitiesCount,0))+总和(合并(ssu.SupportCount,0)))作为CountBasicTrimActivities,
sum(COALESCE(se.WeldingHours,0))作为小时方向,sum(COALESCE(sb.BoltUpHours,0))作为小时方向,sum(COALESCE(sw.WeldHours,0))作为小时焊接,sum(COALESCE(st.TrimHours,0))作为小时方向,sum(COALESCE(sm.Michours,0))作为小时杂项,sum(COALESCE(ssu.SupportHours,0))作为小时支撑,
(聚合(sb.BoltUpHours,0))+聚合(sw.WeldHours,0))作为小时基本连接,
(总和(聚结(st.TrimHours,0))+总和(聚结(sm.Mishours,0))+总和(聚结(ssu.SupportHours,0)),作为小时基本活动,
合计(合并(er安装的进尺,0))作为安装的进尺,合计(合并(er安装的螺栓,0))作为安装的螺栓,合计(合并(er安装的焊缝,0))作为安装的焊缝,
总和(合并(er.InstalledBasicConnections,0))作为InstalledBasicConnections,
sum(COALESCE(er.InstalledTrim,0))作为InstalledTrim,sum(COALESCE(er.installedDisc,0))作为installedDisc,sum(COALESCE(er.InstalledSupports,0))作为InstalledSupports,
作为InstalledBasicTrim的总和(合并(er.InstalledBasicTrim,0)),
截断(总和(合并(er.EarnedDirectionHours,0)),2)为EarnedDirectionHours,
截断(总和(合并(er.EarnedBoltUpHours,0)),2)为EarnedBoltUpHours,
截断(总和(合并(er.EarnedWeldHours,0)),2)作为EarnedWeldHours,
截断(总和(合并(er.EarnedTrimHours,0)),2)为EarnedTrimHours,
截断(总和(合并(er.EarnedSupportHours,0)),2)作为EarnedSupportHours,
截断(总和(合并(er.EarnedDischurs,0)),2)为EarnedDischurs,
截断((总和(合并(er.EarnedBoltUpHours,0))+总和(合并(er.EarnedWeldHours,0))),2)作为收入基本连接小时,
将((合并(er.EarnedTrimHours,0))和((合并(er.EarnedDischurs,0))+和((合并(er.EarnedSupportHours,0)))2)截断为EarnedBasicTrimHours,
(总和(合并(东南安装进尺,0))-总和(合并(er安装进尺,0))作为剩余进尺,
(总和(合并(sb.BoltUpCount,0))-总和(合并(er.InstalledBoltUps,0)),作为剩余的Boltups,
(总和(合并(sw.WeldCount,0))-作为剩余焊缝的总和(合并(er.InstalledWelds,0)),
((总和(合并(sb.BoltUpCount,0))+总和(合并(sw.WeldCount,0))-(总和(合并(er.InstalledBoltUps,0))+总和(合并(er.InstalledWelds,0)))作为剩余的基本连接,
(总和(合并(st.TrimActivitiesCount,0))-作为剩余TrimActivities的总和(合并(er.InstalledTrim,0)),
(总和(合并(ssu.SupportCount,0))-总和(合并(er.InstalledSupports,0)))作为剩余的支持,
(总和(合并(sm.MiscitiesCount,0))-总和(合并(er.InstalledDisc,0)))作为剩余的错误,
(总和(合并(st.TrimActivitiesCount,0))+总和(合并(sm.MiscitiesCount,0))+总和(合并(ssu.SupportCount,0))-(总和(合并(er.InstalledTrim,0))+总和(合并(er.InstalledDisc,0))+总和(合并(er.InstalledSupports,0)),作为剩余的基本活动,
截短((合并(se.勃起小时数,0))和((合并(er.EarnedRectionHours,0))),2)作为剩余小时数,
截断((总和)(合并(sb.BoltUpHours,0))-总和(合并(er.Earned BoltUpHours,0)),2)作为剩余的BoltUpHours,
截断((合并(sw.WeldHours,0))总和(合并(er.EarnedWeldHours,0))),2)作为剩余的焊接小时数,
截断((总和(合并(sb.BoltUpHours,0))+总和(合并(sw.WeldHours,0))-(总和(合并(er.EarnedBoltUpHours,0))+总和(合并(er.EarnedWeldHours,0))),2)作为剩余的基本连接小时,
截断((总和(合并(st.TrimHours,0))-总和(合并(er.EarnedTrimHours,0))),2)作为剩余的TrimHours,
截断((总和(聚合(ssu.SupportHours,0))-总和(聚合(er.EarnedSupportHours,0))),2)作为剩余的SupportHours,
截断((总和(合并(sm.Mishours,0))-总和(合并(er.EarnedMishours,0))),2)作为剩余的Mishours,
截短((总和(聚结(st.TrimHours,0))+总和(聚结(sm.Mishours,0))+总和(聚结(ssu.SupportHours,0))-(总和(聚结(er.EarnedTrimHours,0))+总和(聚结(er.EarnedMischurs,0))+总和(聚结(er.EarnedSupportHours,0)),2)作为剩余的基本小时数
,总和(聚结(tq.HydroHours,0))为小时Hydro
来自trackerDetails td
加入TrackerTQ
关于tq.ID=td.ID
左连接(选择tq.ID、ss.PSActivityID、at.ActivityType、,
截断(总和(合并((tq.估计小时数/tq.起飞数量*(se.架设长度短管1+se.架设长度短管2+se.架设长度短管3+se.架设长度短管4+se.架设长度短管5+se.架设长度短管6)),0)),2)作为所得的缩短小时数,
截断(总和(合并((tq.估计小时数/tq.起飞数量*安装的sb螺栓),0)),2)作为赚取的螺栓小时数,
截断(总和(合并((tq.估计小时数/tq.起飞数量*sw.焊接安装),0)),2)作为已赚焊接小时数,
截短(总和(合并((tq.估计小时数/tq.起飞数量*已安装三个),0)),2)作为已赚的三小时,
截断(和(合并)(tq.EstimatedHours/tq.takeoff)