云服务器内容精选
-
创建二级分区表 二级分区表,可以看成是对一级分区表的扩展,在二级分区表中第一层分区是一张逻辑表并不实际存储数据,数据实际是存储在二级分区节点上的。从实现上而言,二级分区表的分区方案是由两个一级分区的嵌套而来,一级分区的分区方案详见章节CREATE TABLE PARTITION。常见的二级分区表组合方案有:Range-Range分区、Range-List分区、Range-Hash分区、List-Range分区、List-List分区、List-Hash分区、Hash-Range分区、Hash-List分区、Hash-Hash分区等。目前二级分区仅支持行存表,二级分区创建的示例如下: CREATE TABLE [ IF NOT EXISTS ] subpartition_table_name ( [ /* 该部份继承于普通表的Create Table */ { column_name data_type [ COLLATE collation ] [ column_constraint [ ... ] ] | table_constraint | LIKE source_table [ like_option [...] ] } [, ... ] ] ) [ WITH ( {storage_parameter = value} [, ... ] ) ] [ COMPRESS | NOCOMPRESS ] [ TABLESPACE tablespace_name ] /* 二级分区定义的部分,只有list分区策略支持申明AUTOMATIC */ PARTITION BY {RANGE | LIST | HASH} (partKey) [ AUTOMATIC ] SUBPARTITOIN BY {RANGE | LIST | HASH} (partKey) [ AUTOMATIC ] ( PARTITION partition_name partExpr… /* 第一层分区 */ ( SUBPARTITION partition_name partExpr … /* 第二层分区 */ SUBPARTITION partition_name partExpr … /* 第二层分区 */ ), PARTITION partition_name partExpr… /* 第一层分区 */ ( SUBPARTITION partition_name partExpr … /* 第二层分区 */ SUBPARTITION partition_name partExpr … /* 第二层分区 */ ), … ) [ { ENABLE | DISABLE } ROW MOVEMENT ]; 规格约束: 二级分区表支持LIST/HASH/RANGE分区的任意两两组合。 二级分区表支持任一层LIST申明自动扩展。 二级分区表的第二层分区采用LIST自动扩展时,建表语句中第二层分区定义不能为空。 二级分区表场景中仅支持单分区键。 二级分区表中不支持INTERVAL类型分区的组合。 二级分区表场景中,分区总数上限为1048575。
-
创建普通分区表(创建一级分区表) 由于SQL语言功能强大和灵活多样性,SQL语法树通常比复杂,分区表同样如此,分区表的创建可以理解成在原有非分区表的基础上新增表分区属性,因此分区表的语法接口可以看成是对原有非分区表CREATE TABLE语句进行扩展PARTITION BY语句部分,同时指定分区相关的三个核元素: 分区类型(partType):描述分区表的分区策略,分别有RANGE/INTERVAL/LIST/HASH。 分区键(partKey):描述分区表的分区列,目前RANGE/LIST分区支持多列(不超过16列)分区键,INTERVAL/HASH分区只支持单列分区。 分区表达式(partExpr):描述分区表的具体分区表方式,即键值与分区的对应映射关系。 这三部分重要元素在建表语句的Partition By Clause子句中体现,PARTITION BY partType (partKey) ( partExpr[,partExpr]…)。示例如下: CREATE TABLE [ IF NOT EXISTS ] partition_table_name ( [ /* 该部分继承于普通表的Create Table */ { column_name data_type [ COLLATE collation ] [ column_constraint [ ... ] ] | table_constraint | LIKE source_table [ like_option [...] ] }[, ... ] ] ) [ WITH ( {storage_parameter = value} [, ... ] ) ] [ COMPRESS | NOCOMPRESS ] [ TABLESPACE tablespace_name ] /* 范围分区场景,若申明INTERVAL子句则为间隔分区场景 */ PARTITION BY RANGE (partKey) [ INTERVAL ('interval_expr') [ STORE IN (tablespace_name [, ... ] ) ] ] ( partition_start_end_item [, ... ] partition_less_then_item [, ... ] ) /* 列表分区场景,若申明AUTOMATIC则支持list自动扩展 */ PARTITION BY LIST (partKey) [ AUTOMATIC ] ( PARTITION partition_name VALUES (list_values_clause) [ TABLESPACE tablespace_name [, ... ] ] ... ) /* 哈希分区场景 */ PARTITION BY HASH (partKey) ( PARTITION partition_name [ TABLESPACE tablespace_name [, ... ] ] ... ) /* 开启/关闭分区表行迁移 */ [ { ENABLE | DISABLE } ROW MOVEMENT ]; 规格约束: RANGE/LIST分区最大支持16个分区键,INTERVAL/HASH分区均只支持1个分区键,二级分区只支持1个分区键。 INTERVAL分区仅支持数值类型和日期/时间类型,INTERVAL分区不支持在二级分区表中创建。 INTERVAL分区表定义不能有MAXVALUE分区,LIST自动扩展分区表不能定义有DEFAULT分区。 除哈希分区外,分区键不能插入空值,否则DML语句会进行报错处理。唯一例外:RANGE分区表定义有MAXVALUE分区/LIST分区表定义有DEFAULT分区。 分区数最大值为1048575个,可以满足大部分业务场景的诉求。但分区数增加会导致系统中文件数增加,影响系统的性能,一般对于单个表而言不建议分区数超过200。
-
使用和管理分区表 分区表支持大部分非分区表的相关功能,具体可以参考《开发指南》中常规表的各类操作语法相关资料。 除此之外,分区表还支持大量的分区级操作命令,包括分区级DQL/DML(如SELECT、INSERT、UPDATE、DELETE、UPSERT、MERGE INTO)、分区级DDL(如ADD、DROP、TRUNCATE、EXCHANGE、SPLIT、MERGE、MOVE、RENAME)、分区VACUUM/ANALYZE、分类分区索引等。相关命令使用方法请参见分区表DQL/DML、分区索引、分区表运维管理、以及《开发指南》中各个语法命令对应的章节。 分区级操作命令一般通过指定分区名或者分区值的方式进行,比如语法命令可能是如下情形: sql_action [ t_name ] { PARTITION | SUBPARTITION } { p_name | (p_name) }; sql_action [ t_name ] { PARTITION | SUBPARTITION } FOR (p_value); 通过指定分区名p_name或指定分区值p_value来定向操作某个特定分区,此时业务只会作用于对象分区,而不会影响其他任何分区。如果通过指定分区名p_name来执行业务,数据库会匹配p_name对应的分区,该分区不存在则业务抛出异常;如果通过指定分区值p_value来执行业务,数据库会匹配p_value值所属分区。 比如定义有如下的分区表: gaussdb=# CREATE TABLE list_01 ( id INT, role VARCHAR(100), data VARCHAR(100) ) PARTITION BY LIST (id) ( PARTITION p_list_1 VALUES(0,1,2,3,4), PARTITION p_list_2 VALUES(5,6,7,8,9), PARTITION p_list_3 VALUES(DEFAULT) ); -- 清理示例 gaussdb=# DROP TABLE list_01; 指定分区业务中,PARTITION p_list_1与PARTITION FOR (4)等价,为同一个分区;PARTITION p_list_3与PARTITION FOR (12)等价,为同一个分区。 父主题: 分区基本使用
-
创建普通分区表(创建一级分区表) 由于SQL语言功能强大和灵活多样性,SQL语法树通常比复杂,分区表同样如此,分区表的创建可以理解成在原有非分区表的基础上新增表分区属性,因此分区表的语法接口可以看成是对原有非分区表CREATE TABLE语句进行扩展PARTITION BY语句部分,同时指定分区相关的三个核元素: 分区类型(partType):描述分区表的分区策略,分别有RANGE/INTERVAL/LIST/HASH。 分区键(partKey):描述分区表的分区列,目前RANGE/LIST分区支持多列(不超过16列)分区键,INTERVAL/HASH分区只支持单列分区。 分区表达式(partExpr):描述分区表的具体分区表方式,即键值与分区的对应映射关系。 这三部分重要元素在建表语句的Partition By Clause字句中体现,PARTITION BY partType (partKey) ( partExpr[,partExpr]…)。示例如下: CREATE TABLE [ IF NOT EXISTS ] partition_table_name ( [ /* 该部分继承于普通表的Create Table */ { column_name data_type [ COLLATE collation ] [ column_constraint [ ... ] ] | table_constraint | LIKE source_table [ like_option [...] ] }[, ... ] ] ) [ WITH ( {storage_parameter = value} [, ... ] ) ] [ COMPRESS | NOCOMPRESS ] [ TABLESPACE tablespace_name ] /* 范围分区场景,若申明INTERVAL子句则为间隔分区场景 */ PARTITION BY RANGE (partKey) [ INTERVAL ('interval_expr') [ STORE IN (tablespace_name [, ... ] ) ] ] ( partition_start_end_item [, ... ] partition_less_then_item [, ... ] ) /* 列表分区场景 */ PARTITION BY LIST (partKey) ( PARTITION partition_name VALUES (list_values_clause) [ TABLESPACE tablespace_name [, ... ] ] ... ) /* 哈希分区场景 */ PARTITION BY HASH (partKey) ( PARTITION partition_name [ TABLESPACE tablespace_name [, ... ] ] ... ) /* 开启/关闭分区表行迁移 */ [ { ENABLE | DISABLE } ROW MOVEMENT ]; 规格约束: Range/List分区最大支持16个分区键,Interval/Hash分区均只支持1个分区键,二级分区只支持1个分区键。 Interval分区仅支持时间/日期数据类型,Interval分区不支持在二级分区表中创建。 除哈希分区外,分区键不能插入空值,否则DML语句会进行报错处理。唯一例外:Range分区表定义有MAXVALUE分区/List分区表定义有DEFAULT分区。 分区数最大值为1048575个,可以满足大部分业务场景的诉求。但分区数增加会导致系统中文件数增加,影响系统的性能,一般对于单个表而言不建议分区数超过200。
-
创建二级分区表 二级分区表,可以看成是对一级分区表的扩展,在二级分区表中第一层分区是一张逻辑表并不实际存储数据,数据实际是存储在二级分区节点上的。从实现上而言,二级分区表的分区方案是由两个一级分区的嵌套而来的,一级分区的分区方案详见章节CREATE TABLE PARTITION。常见的二级分区表组合方案有:Range-Range分区、Range-List分区、Range-Hash分区、List-Range分区、List-List分区、List-Hash分区、Hash-Range分区、Hash-List分区、Hash-Hash分区等。目前二级分区仅支持行存表,二级分区创建的示例如下: CREATE TABLE [ IF NOT EXISTS ] subpartition_table_name ( [ /* 该部份继承于普通表的Create Table */ { column_name data_type [ COLLATE collation ] [ column_constraint [ ... ] ] | table_constraint | LIKE source_table [ like_option [...] ] } [, ... ] ] ) [ WITH ( {storage_parameter = value} [, ... ] ) ] [ COMPRESS | NOCOMPRESS ] [ TABLESPACE tablespace_name ] /* 二级分区定义的部分 */ PARTITION BY {RANGE | LIST | HASH} SUBPARTITOIN BY {RANGE | LIST | HASH} ( PARTITION partition_name partExpr… /* 第一层分区 */ ( SUBPARTITION partition_name partExpr … /* 第二层分区 */ SUBPARTITION partition_name partExpr … /* 第二层分区 */ ), PARTITION partition_name partExpr… /* 第一层分区 */ ( SUBPARTITION partition_name partExpr … /* 第二层分区 */ SUBPARTITION partition_name partExpr … /* 第二层分区 */ ), … ) [ { ENABLE | DISABLE } ROW MOVEMENT ]; 规格约束: 二级分区支持LIST/HASH/RANGE分区的任意两两组合。 二级分区场景中仅支持单分区键。 二级分区中不支持Interval类型分区的组合。 二级分区场景中,分区总数上限为1048575。
-
创建分区表 由于SQL语言功能强大和灵活多样性,SQL语法树通常比复杂,分区表同样如此,分区表的创建可以理解成在原有非分区表的基础上新增表分区属性,因此分区表的语法接口可以看成是对原有非分区表CREATE TABLE语句进行扩展PARTITION BY语句部分,同时指定分区相关的三个核元素: 分区类型(partType):描述分区表的分区策略,分别有RANGE/INTERVAL/LIST/HASH。 分区键(partKey):描述分区表的分区列,目前RANGE/LIST分区支持多列(不超过16列)分区键,HASH分区只支持单列分区。 分区表达式(partExpr):描述分区表的具体分区表方式,即键值与分区的对应映射关系。 这三部分重要元素在建表语句的Partition By Clause字句中体现,PARTITION BY partType (partKey) ( partExpr[,partExpr]…)。示例如下: CREATE TABLE [ IF NOT EXISTS ] partition_table_name ( [ /* 该部分继承于普通表的Create Table */ { column_name data_type [ COLLATE collation ] [ column_constraint [ ... ] ] | table_constraint | LIKE source_table [ like_option [...] ] }[, ... ] ] ) [ WITH ( {storage_parameter = value} [, ... ] ) ] [ COMPRESS | NOCOMPRESS ] [ TABLESPACE tablespace_name ] /* 范围分区场景 */ PARTITION BY RANGE (partKey) [ INTERVAL ('interval_expr') [ STORE IN (tablespace_name [, ... ] ) ] ] ( partition_start_end_item [, ... ] partition_less_then_item [, ... ] ) /* 列表分区场景 */ PARTITION BY LIST (partKey) ( PARTITION partition_name VALUES (list_values_clause) [ TABLESPACE tablespace_name [, ... ] ] ... ) /* 哈希分区场景 */ PARTITION BY HASH (partKey) ( PARTITION partition_name [ TABLESPACE tablespace_name [, ... ] ] ... ) /* 开启/关闭分区表行迁移 */ [ { ENABLE | DISABLE } ROW MOVEMENT ]; 规格约束: Range/List分区最大支持16个分区键,Hash分区只支持1个分区键。 除哈希分区外,分区键不能插入空值,否则DML语句会进行报错处理。唯一例外:Range分区表定义有MAXVALUE分区/List分区表定义有DEFAULT分区。 分区数最大值为1048575个,可以满足大部分业务场景的诉求。但分区数增加会导致系统中文件数增加,影响系统的性能,一般对于单个表而言不建议分区数超过200。
-
创建二级分区表 二级分区表,可以看成是对一级分区表的扩展,在二级分区表中第一层分区是一张逻辑表并不实际存储数据,数据实际是存储在二级分区节点上的。从实现上而言,二级分区表的分区方案是由两个一级分区的嵌套而来,一级分区的分区方案详见章节CREATE TABLE PARTITION。常见的二级分区表组合方案有:Range-Range分区、Range-List分区、Range-Hash分区、List-Range分区、List-List分区、List-Hash分区、Hash-Range分区、Hash-List分区、Hash-Hash分区等。目前二级分区仅支持行存表,二级分区创建的示例如下: CREATE TABLE [ IF NOT EXISTS ] subpartition_table_name ( [ /* 该部份继承于普通表的Create Table */ { column_name data_type [ COLLATE collation ] [ column_constraint [ ... ] ] | table_constraint | LIKE source_table [ like_option [...] ] } [, ... ] ] ) [ WITH ( {storage_parameter = value} [, ... ] ) ] [ COMPRESS | NOCOMPRESS ] [ TABLESPACE tablespace_name ] /* 二级分区定义的部分,只有list分区策略支持申明AUTOMATIC */ PARTITION BY {RANGE | LIST | HASH} (partKey) [ AUTOMATIC ] SUBPARTITOIN BY {RANGE | LIST | HASH} (partKey) [ AUTOMATIC ] ( PARTITION partition_name partExpr… /* 第一层分区 */ ( SUBPARTITION partition_name partExpr … /* 第二层分区 */ SUBPARTITION partition_name partExpr … /* 第二层分区 */ ), PARTITION partition_name partExpr… /* 第一层分区 */ ( SUBPARTITION partition_name partExpr … /* 第二层分区 */ SUBPARTITION partition_name partExpr … /* 第二层分区 */ ), … ) [ { ENABLE | DISABLE } ROW MOVEMENT ]; 规格约束: 二级分区表支持LIST/HASH/RANGE分区的任意两两组合。 二级分区表支持任一层LIST申明自动扩展。 二级分区表的第二层分区采用LIST自动扩展时,建表语句中第二层分区定义不能为空。 二级分区表场景中仅支持单分区键。 二级分区表中不支持INTERVAL类型分区的组合。 二级分区表场景中,分区总数上限为1048575。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格