Postgresql 12 と TimescaleDB をインストールしました。
データベースに2つのテーブルがあります
- センサー_データ
- Sensor_Data_TS (タイムスケール ハイパーテーブル)。両方のテーブルには同じ列、同じデータがあり、両方のテーブルの sensor_id と time でインデックス作成が行われます。
これら2つのテーブルからデータを挿入またはクエリしてパフォーマンスの違いを確認するクエリを実行すると、クエリ時間はほぼ同じになります。パフォーマンスの違いを確認するために約 5 億レコードを挿入しましたが、Sensor_Data テーブルがハイパーテーブルよりも速くデータを返す場合があります。
ハイパーテーブルを作成するためにクエリが実行されます。
CREATE TABLE Sensor_Data_TS (Sensor_Data のように、INDEXES を除く制約を含むデフォルトを含む);
SELECT create_hypertable('Sensor_Data_TS', 'time', chunk_time_interval => 86400000);
CREATE INDEX ON Sensor_Data_TS (sensor_id, time DESC);
「timescaledb-tune」コマンドを使用して、TimescaleDB のプロパティを構成しました。
ハイパーテーブルの設定に間違いがないか知りたいですか? ウェブサイトで主張しているように、timescaleDB で高速なパフォーマンスを実現するにはどうすればよいですか?