問題タブ [timescaledb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
postgresql - PostgreSQL を使用してスパイク除去を最適化する
TimescaleDB を使用して、PostgreSQL-DB に格納されているデータから直接スパイクを除去したいと考えています。
私のデータは 1 秒間隔の値として保存されています。スパイクなしで計算された 5 分間の平均値を取得したいと考えています。
標準偏差を使用してスパイクを決定し、一定の zscore よりも離れたすべてのデータを除外します。
したがって、最初のステップでは、分析に関連するすべてのデータ (data_filtered) を取得し、5 分間のチャンクごとに平均と標準偏差を計算し (avg_and_stddev_per_interval)、初期データ (data_filtered) を計算された平均と stddev に結合します。基準を満たさないすべての値を除外し、最終的にスパイクのない最終的な 5 分間の平均を計算します。
それはすべてうまくいきますが、信じられないほど遅いです。グループ化せずに完全なデータを要求し ( select * from data_filtered
)、ローカルで条件を計算する方がはるかに高速です。ただし、データ量を減らしたいので、この場合、このアプローチはできません。
クエリを高速化する方法はありますか?