如何预测 PostgreSQL 索引大小

发布于 2024-10-15 08:18:58 字数 121 浏览 2 评论 0原文

是否可以预测 PostgreSQL 9.0 中基本索引将使用的磁盘空间/内存量?

例如,如果我在一个 100 万行的表中的整数列上有一个默认的 B 树索引,那么该索引将占用多少空间?整个索引是否始终保存在内存中?

Is it possible to predict the amount of disk space/memory that will be used by a basic index in PostgreSQL 9.0?

E.g. If I have a default B-tree index on an integer column in a table of 1 million rows, how much space would be taken up by the index? Is the entire index held in memory at all times?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

放手` 2024-10-22 08:18:58

并不是一个明确的答案,但我查看了 9.0 测试系统中的一个表,该表在 280k 行的表上有几个 int 索引。所有索引的大小均为 6232kb。每行大约 22 个字节。

Not really a definitive answer, but I looked at a table in a 9.0 test system I have with a couple of int indexes on a table of 280k rows. The indexs all report a size of 6232kb. So roughly 22 bytes per row.

依 靠 2024-10-22 08:18:58

没有办法这样说。这取决于您将进行的操作类型,因为 PostgreSQL 存储同一行的许多不同版本,包括存储在索引文件中的行版本。

只需制作您感兴趣的表格并检查即可。

There is no way to say that. It depends on the type of operations you will make, as PostgreSQL stores many different versions of the same row, including row versions stored in index files.

Just make the table you are interested in and check it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文