0

以下のクエリがあり、それを最適化する方法を探しています(より効率的で高速にするなど)。誰にもアイデアはありますか?

SELECT s.oem_id, s.name, SUM(u.minimum_gfs) AS minimum_gfs, sum(u.minimum_ofs) AS    
   minimum_ofs, sum(u.minimum_wq) AS minimum_wq
FROM nmp_building_reqs AS s
   LEFT OUTER JOIN nmp_building_util AS u
ON u.oem_id = s.oem_id
GROUP BY s.oem_id, s.name
4

1 に答える 1

5

行うべき唯一の明白なことは、結合をより速くするためにoem_idがインデックス付けされていることを確認することです。

ただし、結合する前に集計を行ってから名前を入れることができるのではないかと疑っています。これは、oem_idに関連付けられている名前が1つだけであることを前提としています。クエリは次のようになります。

SELECT s.oem_id, s.name, u.minimum_gfs, u.minimum_ofs, u.minimum_wq
FROM nmp_building_reqs s left outer join
     (select u.oem_id, SUM(u.minimum_gfs) AS minimum_gfs,
             sum(u.minimum_ofs) AS minimum_ofs, sum(u.minimum_wq) AS minimum_wq
      from nmp_building_util u
      group by u.oem_id
     ) u
     ON u.oem_id = s.oem_id
于 2012-12-19T14:32:47.027 に答える