ITPub博客

首页 > 数据库 > PostgreSQL > PostgreSQL千万数据量下的DDL变更影响

PostgreSQL千万数据量下的DDL变更影响

原创 PostgreSQL 作者:xuexiaogang 时间:2024-03-05 20:24:37 0 删除 编辑

 之前做过Oracle和MySQL DDL的时候有哪些情况要注意的。一直没有做PostgreSQL的,今天这个用实验说明一下。这里用的是15版本。

[pg15@dev-dbteam-148180 ~]$ psql

psql (15.3)

Type "help" for help.

postgres=# \d

               List of relations

 Schema |       Name        | Type  |  Owner  

--------+-------------------+-------+----------

 public | walminer_contents | table | postgres

(1 row)

创建一个空的数据库

postgres=# create database p;

CREATE DATABASE

postgres=# \c p

You are now connected to database "p" as user "postgres".

                                                             ^

创建一个和MySQL实验时候一模一样表结构的表。

p=# create table thousand (id int,a int,name varchar(10),time date);

CREATE TABLE

写了一个存储过程,批量写入1000万数据。

编辑

增加一个不带默认值的字段。

编辑

从实验得出结论,DDL在不到2毫秒完成。没有问题。

增加一个非空且带有默认值的字段,实验观察该DDL1毫秒完成,没有问题。

编辑

在这个千万级别的表上增加一个带默认值,但是没有非空的DDL。

编辑

从实验结果看只用1毫秒,DDL没有阻塞,没有问题。

最后一个场景,增加一个字段,并且对字段进行扩容,而且超过之前在MySQL中256的界限。

编辑

从实验结果看都不超过2毫秒,DDL没有阻塞,没有问题。

总体说来至少从PostgreSQL15版本的使用来看表结构变更的DDL,是没有问题的。



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/637517/viewspace-3008174/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 大白话开源协议
请登录后发表评论 登录
全部评论
OracleACE/PostgreSQLACE/阿里云MVP/腾讯云TVP/墨天轮 MVP/TiDBMVA/数盟会华东区长老/OpenTenBase社区委和技术委委员/架构师技术同盟名人堂成员上海地区理事会成员/if社区联合发起人/《DBA实战手记》作者/公众号:四海内皆兄弟

注册时间:2013-07-01

  • 博文量
    422
  • 访问量
    953462