我有一个带有键(bigint)和值(double)的PostgreSQL表。这个表有数百亿行。我在(键,值)上有一个btree,用于按键进行辅助查找。表从未更新过。
我在这个表上执行的唯一查询是键上的一个相等谓词来获取相应的值,这使用了B树。
PostgreSQL消耗的存储空间在这里非常糟糕。它将OID、键、值存储在表中,将键、值存储在索引中。本质上,我把所有东西都储存了两次!
如何配置此表,使其具有空间效率?理想情况下,如何在B树中只存储一次元组。
发布于 2018-10-18 05:44:41
我认为你应该试试TimescaleDB。它是用于大型桌子的Postgres扩展。在1000个节中,按键将表拆分,在每个节中您将得到数千万条记录。它将在没有索引的情况下快速工作。
https://dba.stackexchange.com/questions/136485
复制相似问题