自学内容网 自学内容网

PostgreSQL 创建表,常规表、外部表、分区表区别讲解

创建表,常规表、外部表、分区表区

在 PostgreSQL 中,创建表时的 “常规”、“外部” 和 “分区” 区别和使用场景讲解。

在这里插入图片描述

一、常规表

1. 定义和特点:

  • 常规表是最常见的表类型,它在数据库中以传统的方式存储数据。
  • 数据存储在数据库文件系统中,由 PostgreSQL 服务器直接管理。
  • 常规表可以包含各种数据类型的列,并且可以通过 SQL 语句进行插入、更新、删除和查询操作。

2. 适用场景:

  • 当数据量相对较小,且不需要特殊的存储方式或性能优化时,常规表是一个合适的选择。
  • 对于简单的应用程序或小型项目,常规表可以满足大多数数据存储需求。
  • 例如,一个小型的博客系统,文章表和用户表可以使用常规表来存储数据。

二、外部表

1. 定义和特点:

  • 外部表允许 PostgreSQL 从外部数据源(如文件、其他数据库或网络服务)读取数据,而不是直接存储在数据库内部。
  • 外部表通过定义一个外部数据包装器(Foreign Data Wrapper,FDW)来连接到外部数据源,并指定数据的格式和访问方式。
  • 外部表可以像常规表一样进行查询,但不能进行插入、更新或删除操作,除非外部数据源支持这些操作。

2. 适用场景:

  • 当需要访问外部数据源的数据,而又不想将数据导入到数据库中时,可以使用外部表。
  • 例如,从一个 CSV 文件或其他数据库中读取数据进行分析,而不需要将数据永久存储在 PostgreSQL 数据库中。
  • 对于数据仓库或数据分析场景,外部表可以方便地集成来自不同数据源的数据。

三、分区表

1. 定义和特点:

  • 分区表是将一个大表分成多个较小的子表,称为分区。每个分区可以独立存储和管理,提高查询性能和数据管理效率。
  • 分区可以基于一个或多个列的值进行划分,例如按照时间范围、地理位置或其他业务逻辑进行分区。
  • 分区表可以使用不同的存储参数和索引策略,以满足不同分区的性能需求。

2. 适用场景:

  • 当表中的数据量非常大,查询性能成为问题时,可以考虑使用分区表。
  • 例如,一个日志表,每天的数据量很大,可以按照日期进行分区,查询特定日期范围内的日志时,只需要访问相应的分区,提高查询性能。
  • 对于数据归档和历史数据管理,分区表也非常有用。可以将旧数据移动到单独的分区,以便进行备份、删除或压缩。

当从主表根据分区条件创建分区表后:
一、分区表中的数据情况

创建分区表时,如果分区条件指定的范围内的数据在主表中存在,这些数据会自动被移动到相应的分区表中。
例如,如果按照日期进行分区,创建一个分区表对应特定日期范围,而主表中已经有符合该日期范围的数据,那么在创建分区表后,这些数据会出现在分区表中。

二、主表中的数据情况

主表中符合分区条件的数据会被移除转移到相应的分区表中。
但是主表本身依然存在,只是不再包含已经被转移到分区表中的那些数据。
主表可以继续接收新的数据插入,如果新插入的数据符合分区条件,也会被自动分配到相应的分区表中。


原文地址:https://blog.csdn.net/weixin_42703501/article/details/142546991

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!