は、私は単純なクエリを持っています。内側のselectクエリを削除し、それをクエリの結果と置き換えると、0.1秒かかります。内側のクエリを単独で実行すると、0.1秒かかります。 SensorへのJoinを削除すると、0.5秒で実行されます(これは問題ありません)。私はINTのThe Id列にIndexesを持っています。スローmysqlのクエリ
3
A
答えて
1
ChipId
Sensors
テーブルが結合条件で使用され、内部選択クエリのRockId
がgroup by
の列名です。この列のインデックスを作成しようとしましたか?また
このクエリしてみてください:ジョインとして
SELECT Description, Temp1, Temp2, myData.DateAndTime
FROM
(SELECT *,max(id) as mymax FROM SensorData
Group by RockId
Order by id desc
) as myData
INNER Join Sensors on Sensors.ChipId= myData.RockID
WHERE SensorData.Id = mydata.mymax
ORDER BY DhtTemp;
1
ほとんどwhere in (select ...)
問合せは(オプティマイザによって、多くの場合、自動的に、常にではない)に書き換えることができるが、これを試してみてください。英語で
select Description, Temp1, Temp2, a.DateAndTime
from SensorData a
left join SensorData b on b.RockId = a.RockId
and b.ID > a.ID
join Sensors on Sensors.ChipId = a.RockID
where b.ID is null
order by DhtTemp
、これは「高いだけID`を持っていないSensorDataの行を返す意味
あなたはRockId
のインデックスであることを確認してください
+0
はい、有効なクエリですが、ほとんど速くはありません。 – Strawberry
関連する問題
- 1. スローMySQLのクエリ -
- 2. スローMySQLのクエリは、/句
- 3. スローMySQLのクエリ(左外部結合を最適化する)
- 4. スローDatascriptクエリ
- 5. スローMDXクエリ
- 6. SELECT COUNTクエリでMySQLでエラーがスローされる
- 7. クエリ内のMysqlクエリ
- 8. MySQLは、MySQLのクエリ
- 9. MySQLのクエリはWorkbenchで動作しますが、hibernateはMySQLSyntaxErrorExceptionをスローします
- 10. スローMySQLはPKが> X
- 11. PHPのmysqlのクエリ - クエリ
- 12. PHPのmysqlクエリのクエリ:D
- 13. MDBクエリへのMySQLクエリ
- 14. クエリ内のColdfusion MySQLクエリ
- 15. MySQLのクエリは
- 16. mysqlのクエリは
- 17. MySQLのクエリは、()
- 18. MySQLのクエリは
- 19. MySQLのクエリ
- 20. MySQLのクエリは
- 21. mysqlのクエリ
- 22. MySQLのクエリ
- 23. MySQLクエリのヘルプ
- 24. カウントmysqlのクエリ
- 25. クエリは、MySQLの
- 26. ダイレクトメッセージのMySqlクエリ
- 27. Javascriptのmysqlクエリ
- 28. mysqlのクエリ
- 29. は、MySQLのクエリ
- 30. MySQLのクエリは
私はそれが好きです。ありがとう! – Jay