Hello,
I am new to Timescale, and after reading a few articles from the docs: indexes, unique index on hypertable. I’ve decided to clarify some unanswered questions.
My main concern is the usage of Timescale for non-time series data to improve query performance.
Timescale uses the time
column to partition tables. If I want a regular table to be turned into a hypertable, where the primary key is an id
, then the primary key must be (id, time) and the hypertable should also be partitioned by (id, time).
I have a few questions:
-
What difference does it make if the hypertable is only partitioned by time and not by time and id? What would be the use of partitioning by other columns other than the time column?
-
Since a hypertable consists of multiple chunks, will queries be faster if the lookups were performed on the partitioned column?
-
What happens if a query is made on a non-partitioned column? Will the query be performed on all chunks? In theory, wouldn’t a query be still faster if it was executed on all the chunks rather than a huge regular Postgres table?