我可以在Heroku上的5 MB PostgreSQL中存储多少条记录?

我可以在Heroku上的5 MB PostgreSQL中存储多少条记录?,第1张

概述我要将记录存储在一个包含2个字段的表中: > id – > 4个字符 > password_hash – > 64个字符 我可以在Heroku上的5mb PostgreSQL中存储多少个像上面那样的记录? P.S.:给定一个包含x列且长度为y的表 – 如何计算数据库中的空间? 磁盘空间占用 计算磁盘空间并非易事.你必须考虑到: >每个表的开销(小,基本上是系统目录中的条目,可能不会影响你在Hero 我要将记录存储在一个包含2个字段的表中:

> ID – > 4个字符
> password_hash – > 64个字符

我可以在Heroku上的5mb Postgresql中存储多少个像上面那样的记录?

P.S.:给定一个包含x列且长度为y的表 – 如何计算数据库中的空间?

磁盘空间占用

计算磁盘空间并非易事.你必须考虑到:

>每个表的开销(小,基本上是系统目录中的条目,可能不会影响你在Heroku上).
>每行开销(HeapTupleheader)和每个数据页(PageheaderData).有关page layout in the manual的详细信息.
>空间损失到data type alignment.
> NULL bitmap的空间.对于8列或更少的表格,实际上是免费的,与您的情况无关.
> UPDATE / DELETE后的死行.
>索引的大小.你有一把主键,对吧?索引大小类似于仅包含索引列且开销较少的表的索引大小.
>数据的实际空间要求,具体取决于相应的数据类型. Details for character types (incl. fixed length types) in the manual:

The storage requirement for a short string (up to 126 bytes) is 1 byte
plus the actual string,which includes the space padding in the case
of character. Longer strings have 4 bytes of overhead instead of 1

有关系统目录pg_type中所有类型的更多详细信息.
>数据库编码特别适用于字符类型. UTF-8使用最多四个字节来存储一个字符(但是7位ASCII字符总是只占用一个字节,即使在UTF-8中也是如此.)
>其他可能影响你案件的小事,比如TOAST–这对64字符串不会影响你.

用测试用例计算

查找估计值的一种简单方法是创建一个测试表,用虚拟数据填充它并使用database object size functions:进行测量:

SELECT pg_size_pretty(pg_relation_size('tbl'));

包括索引:

SELECT pg_size_pretty(pg_total_relation_size('tbl'));

快速测试显示以下结果:

CREATE table test(a text,b text);INSERT INTO test -- quick fake of matching rowsSELECT chr((g/1000 +32)) || to_char(g%1000,'FM000'),repeat (chr(g%120 + 32),64)FROM   generate_serIEs(1,50000) g;SELECT pg_size_pretty(pg_relation_size('test'));       -- 5640 kBSELECT pg_size_pretty(pg_total_relation_size('test')); -- 5648 kB

添加主键后:

ALTER table test ADD CONSTRAINT test_pkey PRIMARY KEY(a);SELECT pg_size_pretty(pg_total_relation_size('test')); -- 6760 kB

所以,我希望最多大约44,000行没有,大约36k行有主键.

总结

以上是内存溢出为你收集整理的我可以在Heroku上的5 MB PostgreSQL中存储多少条记录?全部内容,希望文章能够帮你解决我可以在Heroku上的5 MB PostgreSQL中存储多少条记录?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/sjk/1169969.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-02
下一篇2022-06-02

发表评论

登录后才能评论

评论列表(0条)

    保存