博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PostgreSQL性能极限
阅读量:5897 次
发布时间:2019-06-19

本文共 897 字,大约阅读时间需要 2 分钟。

目前已有很多PostgreSQL的系统在实际生产环境下管理着超过4TB的数据。一些PostgreSQL系统的极限值如下表所列:

  极限值:

 

最大单个数据库大小 不限
最大数据单表大小 32 TB
单条记录最大 1.6 TB
单字段最大允许 1 GB
单表允许最大记录数 不限
单表最大字段数 250 - 1600 (取决于字段类型)
单表最大索引数 不限

http://www.postgres.cn/about

PgSql单表最大32T,不限制记录数,但最多能存多少条记录还要看单条记录大小和对查询性能的要求,如果没有复杂的查询或统计操作正常单表上亿条记录查询性能也是能接受的。否则就要考虑分区或分库分表操作。看网上经验值,为保证较好的查询性能,MySQL在单表1000w数据记录时就要考虑分库分表操作。

https://yq.aliyun.com/articles/7444

分库分表后会出现实物一致性、跨表Join查询、查询结果合并等一些列困难的问题,所以除非特殊情况,可以先考虑PgSql分区操作,分区可让数据文件存在不同硬盘分区上,但无法跨数据库,更不能跨服务器。但分区可以提供若干好处:

  • 某些类型的查询性能可以得到极大提升。特别是表中访问率较高的行位于一个单独分区或少数几个分区上的情况下。分区可以减少索引体积从而可以将高使用率部分的索引存放在内存中。如果索引不能全部放在内存中,那么在索引上的读和写都会产生更多的磁盘访问。

  • 当查询或更新一个分区的大部分记录时,连续扫描那个分区而不是使用索引离散的访问整个表可以获得巨大的性能提升。

  • 如果需要大量加载或者删除的记录位于单独的分区上,那么可以通过直接读取或删除那个分区以获得巨大的性能提升,因为 ALTER TABLE 比操作大量的数据要快的多。它同时还可以避免由于大量 DELETE 导致的 VACUUM 超载。

  • 很少用的数据可以移动到便宜一些的慢速存储介质上。

这种好处通常只有在表可能会变得非常大的情况下才有价值。到底多大的表会从分区中收益取决于具体的应用,不过有个基本的拇指规则就是表的大小超过了数据库服务器的物理内存大小。

转载地址:http://jyasx.baihongyu.com/

你可能感兴趣的文章
jquery 共用函数
查看>>
linux umount 提示device is busy 的解决
查看>>
C#操作Xml
查看>>
Zookeeper 应用
查看>>
Handler介绍:更新UI程序的方法
查看>>
算法学习(二):O(n^2)排序算法
查看>>
python-文件基本操作(一)
查看>>
iPhone XS 能否经受的起寒冬的考验
查看>>
LCT学习笔记
查看>>
玩转SSRS第九篇---匿名访问的一个间接方法
查看>>
SSIS典型应用场景分析
查看>>
ActiveMQ学习总结(8)——消息队列设计精要
查看>>
异步编程模式(三):等待异步调用的完成
查看>>
win7硬盘安装Ubuntu 14.04、Win7和Ubuntu双系统时卸载Ubuntu
查看>>
JS跨域ajax访问
查看>>
解决 CentOS网卡eth0启用不了问题
查看>>
VMWARE虚拟机CentOS6.4系统使用主机无线网卡上网的三种方法介绍
查看>>
dispatch 之 常见函数小结
查看>>
TYVJ2002 扑克牌
查看>>
【转载】关于大数据库的一些不错的GitHub项目
查看>>