0

タイムスタンプ付きの測定値の表があります。5 分ごとに 1 つのデータ。30分ごとに平均/最小/最大値を抽出するビューを作成しました。問題は、このクエリが非常に遅いことです (合計 13290 行で +/- 5 秒...これは非常に少ないです..

最適化のアイデアはありますか?

私のコード:

SELECT t_mesures.sonde_id AS sonde_id
    ,min(t_mesures.timestamp) AS start_period
    ,max(t_mesures.timestamp) AS end_period
    ,from_unixtime(
        unix_timestamp(min(t_mesures.timestamp))+
        floor( (unix_timestamp(max(t_mesures.timestamp))-unix_timestamp(min(t_mesures.timestamp)))/2)
     ) AS mid_period
    ,timediff(max(t_mesures.timestamp), min(t_mesures.timestamp)) AS dur_period  
    ,avg(t_mesures.Mesure) AS avg_mesure
    ,min(t_mesures.Mesure) AS min_mesure
    ,max(t_mesures.Mesure) AS max_mesure
    ,count(t_mesures.Mesure) as nb_mesure
FROM t_mesures
GROUP BY t_mesures.sonde_id
    ,(floor((unix_timestamp(t_mesures.timestamp) / 1800)) * 1800)
4

1 に答える 1