原文地址:
https://blog.csdn.net/pg_hgdb/article/details/79093481
pg单条记录,单个表,单个数据库的最大限制是多少?
下面是一些限制:
单个数据库最大尺寸? 无限制(已存在有 32TB 的数据库)
单个表的最大尺寸? 32 TB
一行记录的最大尺寸? 400 GB
一个字段的最大尺寸? 1 GB
一个表里最大行数? 无限制
一个表里最大列数? 250-1600 (与列类型有关)
一个表里的最大索引数量? 无限制
当然,实际上没有真正的无限制,还是要受系统可用磁盘空间、可用内存/交换区的制约。 事实上,当上述这些数值变得异常地大时,系统性能也会受很大影响。
单表的最大大小 32 TB 不需要操作系统对单个文件也需这么大的支持。大表用多个 1 GB 的文件存储,因此文件系统大小的限制是不重要的。
如果缺省的块大小增长到 32K ,最大的单表大小和最大列数还可以增加到四倍。
有一个限制就是不能对大小多于2000字节的列创建索引。幸运地是这样的索引很少用到。通过对多字节列的内容进行MD5哈稀运算结果进行函数索引可对列的唯一性得到保证, 并且全文检索允许对列中的单词进行搜索。
转自pg中文社区。
insert int A values(*******************)
插入多条数据,最多想到:写成这样:
insert into A values(**********),(*************),(*****************)
但是在百万数据面前,都太慢了。
1、用脚本的方式
1 #!/bin/b...
19.7. 查询规划
19.7.1. 规划器方法配制
这些配置参数提供了影响查询优化器选择查询规划的原始方法。如果优化器 为特定的查询选择的缺省规划并不是最优,那么我们就可以通过使用这些 配置参数强制优化器选择一个更好的规划来temporary解决这个 问题。不过,永久地关闭这些设置几乎从不是个好主意。更好的改善优化器 选择规划的方法包括调节Section 18.6.2、
更频繁运行ANALYZE、增大配置参数 default_statistics_target的值、使用 ALTER TABLE SET S
作为在后端圈开车的多年老司机,是不是经常听到过,“mysql 单
表
最好不要超过2000w”,“单
表
超过2000w 就要考虑数据迁移了”,“你这个
表
数据都马上要到2000w 了,难怪查询速度慢”
为什么
postgresql
最大
的单
表
只能是32TB?这需要从数据文件来说起。在
postgresql
中,一张
表
对应多个数据文件。数据文件中存储的是page,每一个page都有一个单独的编号,因为pg寻址空间采用的是32位,也就是2^32=4294967296,也就是一组数据文件中最多存放这些page。按照默认的block_size设置为8K,可以计算出来一组数据文件
最大
的大小是32T。这里,注意我说...
突然听到运维说磁盘预发布环境磁盘空间不够,细查之下发现是由于某个
表
的数据太大导致的,但是查看了下
数据库
表
发现,实际的
表
数据量只有60w条,很明显
表
哪里出问题了,一开始以为是犹豫
表
的设计不合理索引导致的数据量大,细看之下发现挺正常的。
文章目录
PostgreSQL
数据类型数字类型字符类型时间/日期类型布尔类型网络地址类型数组类型范围类型json/jsonb类型数据类型转换
PostgreSQL
数据类型
PostgreSQL
支持
最大
字段大小为1GB