
MYSQLで年間データを集計するSQLを作っています。
現在、
入庫テーブル:tbl_nyuko 125458件
販売テーブル:tbl_hanbai 365570件
入っているデータが入っているのですが、下記SQLを発行すると2時間たっても結果が表示されません、、
何か遅くなる原因や対策方法など教授して頂ければうれしいです
やりたいのは大分類ごと、得意先ごとの販売金額を集計したいです
tbl_nyukoのインデックス:nyukoday、originalno
tbl_hanbaiのインデックス:sday、serialno、tokuisakino
SQL
1SELECT t.daino,h.tokuisakino,h.tokuisakiname,sum(h.hanbaisu * n.tanka),h.hday FROM tbl_hanbai h 2 LEFT OUTER JOIN 3 tbl_nyuko n 4 5 ON h.serialno = n.originalno 6 and DATE(h.sday) = DATE(n.nyukoday) 7 LEFT OUTER JOIN 8 m_tokuisaki t ON h.tokuisakino = t.tokuisakino 9 10 where h.hday 11 BETWEEN '2021/04/17 00:00:00' 12 AND '2022/03/31 23:59:59' 13 AND t.daino = 0 14 GROUP by t.tokuisakino order by t.daino,t.tokuisakino 15
EXPLAINを実行してみました。
回答いただいた、DATE(h.sday) = DATE(n.nyukoday)も試しましたが、1時間ほど返ってこなかったので諦めました、、


回答5件
あなたの回答
tips
プレビュー