【发布时间】:2023-03-06 16:18:01
【问题描述】:
我一直在 TimescaleDB 中保存一些刻度数据,并且对它占用的空间量感到惊讶。我对此很陌生,但我每天将大约 1000 万行保存到一个包含以下列的表中:
这已经占用了大约 35GB 一天,这似乎过多。我想知道我可以采取哪些步骤来减少这个数量 - 如果我将双打列更改为浮动,这会产生很大的影响吗?有没有其他方法可以减小这个尺寸?
编辑:
运行chunk_relation_size_pretty()的结果是:
和hypertable_relation_size_pretty():
索引占用这么多空间似乎也很奇怪 - 我尝试查询一定范围内的数据,结果花了很长时间才回来(一天的数据大约需要 10 分钟) .该指数目前设置为(仪器、交易所、时间DESC)之间的复合指数。
【问题讨论】:
-
我们需要更多数据:表定义是什么?
pgstattuple对这张桌子有什么看法? -
能否贴出表结构、索引和实际大小,可以通过
hypertable_relation_size_pretty()和chunk_relation_size_pretty()获取 -
@k_rus 确定 - 我在问题中添加了更多信息。
-
我觉得数据库中有更多的东西,但我没有想出要寻找什么。你能跑
VACUUM ANALYZE吗?你知道它是否已经运行了吗? -
奇怪的是价格和数量存储为双。似乎是从 Javascript 直接翻译。我希望数量是整数,价格是小数或数字。