0
温度値とタイムスタンプの異なるテーブルがあります。グループ機能と2つの異なるタイムスタンプ(Join付き)を使用したMySQLクエリの最適化
SELECT UNIX_TIMESTAMP(l.TimeDate) time
, AVG(l.intemp)
, AVG(n.intemp)
, DATE_FORMAT(l.TimeDate, '%Y-%m-%d-%H') dates
FROM values.temps l
LEFT
JOIN values.net n
ON DATE_FORMAT(l.TimeDate, '%Y-%m-%d-%H') = DATE_FORMAT(n.TimeDate, '%Y-%m-%d-%H')
WHERE YEARWEEK('2017-01-17 00:00:00',1) = YEARWEEK(l.TimeDate,1)
GROUP
BY dates
ORDER
BY dates ASC
このクエリは少し遅いですが、それは動作し、私に1週間の値を与えます。だから私はそれをどのように最適化できますか?
スロービットは結合であり、どちらもインデックスを使用できません。彼らができるように書き直す - 私はHが何であるか忘れる! – Strawberry
こんにちは、お返事いただきありがとうございます。しかし、私はインデックスを持っています。だから私はそれをより良くする方法を知らない。 – kami
関数はインデックスを使用できません。したがって、インデックスを使用する場合は、関数を削除する方法を考える必要があります。これは通常、範囲照会で行われます。私は例を投稿しようとするかもしれません... – Strawberry