このクエリの実行には、途方もなく長い時間がかかります。所要時間 / フェッチ: 89.778 秒 / 0.000 秒
クエリは次のとおりです。
SELECT tblcompanyoperat.COPSCountry,
AVG(tbldshipfees.Dship Total AnnualUSD) /
AVG(tblcopsyearonyear.COPSMinWageUSD) AS Expr1
FROM (SELECT tblcopsyearonyear.Company NAME,
tblcopsyearonyear.COPSCountry,
MAX(tblcopsyearonyear.COPSFinYearEnd) AS MaxOfCOPSFinYearEnd
FROM tblcopsyearonyear
GROUP BY tblcopsyearonyear.Company NAME,
tblcopsyearonyear.COPSCountry
ORDER BY tblcopsyearonyear.COPSCountry,
MAX(tblcopsyearonyear.COPSFinYearEnd)) AS qryCOPSLatestInfoYr,
((tblcompany
INNER JOIN tblcompanyoperat
ON tblcompany.CompName = tblcompanyoperat.Company NAME)
INNER JOIN tblcopsyearonyear
ON tblcompanyoperat.COMPOPID = tblcopsyearonyear.COMPOPID)
INNER JOIN (tbldirectorships
INNER JOIN tbldshipfees
ON tbldirectorships.DIRECTORSHIPSID = bldshipfees.DSHIPID)
ON tblcompany.CompName = tbldirectorships.DSHIPCOMPANYLINK
WHERE blcompany.CompSector = 'Retail'
GROUP BY tblcompany.CompSector,
blcompanyoperat.COPSCountry,
tbldshipfees.DSHIP Position
HAVING (AVG(tblcopsyearonyear.COPSMinWageUSD) IS NOT NULL
AND tbldshipfees.DSHIP Position LIKE 'Chief%')
ORDER BY MAX(qryCOPSLatestInfoYr.MaxOfCOPSFinYearEnd);
インデックス作成以外に、どのような最適化を使用して高速化できますか? 拡張出力について説明します。
id selet_type table type possible_keys key key_len ref rows filtered Extra
1, PRIMARY, tblcompany, ref, PRIMARY,tblSECTORStblCOMPANY, tblSECTORStblCOMPANY, 768, const, 7, 100.00, Using where; Using index; Using temporary; Using filesort
1, PRIMARY, tblcompanyoperat, ref, PRIMARY,CompanyName, CompanyName, 768, lrsmnc.tblcompany.CompName, 3, 100.00, Using where
1, PRIMARY, tblcopsyearonyear, ref, PRIMARY,COMPOPID, COMPOPID, 4, lrsmnc.tblcompanyoperat.COMPOPID, 1, 100.00,
1, PRIMARY, tbldirectorships, ref, PRIMARY,DIRECTORSHIPSID,tblCOMPANYtblDIRECTORSHIPS, tblCOMPANYtblDIRECTORSHIPS, 768, lrsmnc.tblcompanyoperat.Company Name, 12, 100.00, Using where; Using index
1, PRIMARY, tbldshipfees, ref, DSHIPID,tbldshipfeesDSHIPID, DSHIPID, 4, lrsmnc.tbldirectorships.DIRECTORSHIPSID, 1, 100.00,
1, PRIMARY, <derived2>, ALL, 310, 100.00, Using join buffer
2, DERIVED, tblcopsyearonyear, ALL, 523, 100.00, Using temporary; Using filesort