云服务器内容精选
-
开启/关闭一级列表分区自动扩展 使用ALTER TABLE SET PARTITIONING 可以开启/关闭一级列表分区自动扩展。 例如: 开启一级列表分区表自动扩展。 gaussdb=# CREATE TABLE list_int (c1 int, c2 int) PARTITION BY LIST (c1) ( PARTITION p1 VALUES (1, 2, 3), PARTITION p2 VALUES (4, 5, 6) ); gaussdb=# ALTER TABLE list_int SET PARTITIONING AUTOMATIC; 或者: gaussdb=# CREATE TABLE list_range (c1 int, c2 int) PARTITION BY LIST (c1) SUBPARTITION BY RANGE (c2) ( PARTITION p1 VALUES (1, 2, 3) ( SUBPARTITION sp11 VALUES LESS THAN (5), SUBPARTITION sp12 VALUES LESS THAN (10) ), PARTITION p2 VALUES (4, 5, 6) ( SUBPARTITION sp21 VALUES LESS THAN (5), SUBPARTITION sp22 VALUES LESS THAN (10) ) ); gaussdb=# ALTER TABLE list_range SET PARTITIONING AUTOMATIC; 开启一级列表分区自动扩展功能要求一级分区表、一级分区中不能存在分区键值为DEFAULT的分区。 关闭一级列表分区表自动扩展。 gaussdb=# ALTER TABLE list_int SET PARTITIONING MANUAL; 或者: gaussdb=# ALTER TABLE list_range SET PARTITIONING MANUAL; 清理示例: gaussdb=# DROP TABLE list_int; gaussdb=# DROP TABLE list_range; 父主题: 开启/关闭分区自动扩展
-
二级分区表自动扩展 创建二级分区表时,可以在创建列表分区定义上指定AUTOMATIC关键字,以支持二级分区表的一级自动扩展/二级自动扩展。 创建二级分区表时,在创建一级分区定义上指定AUTOMATIC,以支持一级自动扩展。 gaussdb=# CREATE TABLE autolist_range (c1 int, c2 int) PARTITION BY LIST (c1) AUTOMATIC SUBPARTITION BY RANGE (c2) ( PARTITION p1 VALUES (1, 2, 3) ( SUBPARTITION sp11 VALUES LESS THAN (5), SUBPARTITION sp12 VALUES LESS THAN (10) ), PARTITION p2 VALUES (4, 5, 6) ( SUBPARTITION sp21 VALUES LESS THAN (5), SUBPARTITION sp22 VALUES LESS THAN (10) ) ); 当插入数据无法匹配到已有的任意一级分区时,会自动创建一个新的一级分区,新一级分区的范围定义为单key(新数据对应的新分区键值),其下面会定义一个全集的二级分区。 --一级分区键插入数据9,因为现有的一级分区p1、p2的键值中不包含9,所以自动创建一个新的一级分区sys_p1,分区定义为VALUES (9) gaussdb=# INSERT INTO autolist_range VALUES (9, 0); 这一功能与如下命令等价: gaussdb=# ALTER TABLE autolist_range ADD PARTITION sys_p1 VALUES (9); gaussdb=# INSERT INTO autolist_range VALUES (9, 0); gaussdb=# DROP TABLE autolist_range; 创建二级分区表时,在二级分区定义上指定AUTOMATIC,以支持二级自动扩展。 gaussdb=# CREATE TABLE range_autolist (c1 int, c2 int) PARTITION BY RANGE (c1) SUBPARTITION BY LIST (c2) AUTOMATIC ( PARTITION p1 VALUES LESS THAN (5) ( SUBPARTITION sp11 VALUES (1, 2, 3), SUBPARTITION sp12 VALUES (4, 5, 6) ), PARTITION p2 VALUES LESS THAN (10) ( SUBPARTITION sp21 VALUES (1, 2, 3), SUBPARTITION sp22 VALUES (4, 5, 6) ) ); 当插入数据无法匹配到已有的任意二级分区时,会在对应的一级分区下自动创建一个新的二级分区,新二级分区的范围定义为单key(新数据对应的新分区键值)。 --二级分区键插入数据0,因为现有的二级分区的键值中不包含0,所以自动创建一个新的二级分区sys_sp1,分区定义为VALUES (0) gaussdb=# INSERT INTO range_autolist VALUES (4, 0); 这一功能与如下命令等价: gaussdb=# ALTER TABLE range_autolist MODIFY PARTITION p1 ADD SUBPARTITION sys_sp1 VALUES (0); gaussdb=# INSERT INTO range_autolist VALUES (4, 0); -- 清理示例 gaussdb=# DROP TABLE range_autolist; 创建二级分区表时,在一级/二级分区定义上同时指定AUTOMATIC,表示支持一级自动扩展/二级自动扩展。 gaussdb=# CREATE TABLE autolist_autolist (c1 int, c2 int) PARTITION BY LIST (c1) AUTOMATIC SUBPARTITION BY LIST (c2) AUTOMATIC ( PARTITION p1 VALUES (1, 2, 3) ( SUBPARTITION sp11 VALUES (1, 2, 3), SUBPARTITION sp12 VALUES (4, 5, 6) ), PARTITION p2 VALUES (4, 5, 6) ( SUBPARTITION sp21 VALUES (1, 2, 3), SUBPARTITION sp22 VALUES (4, 5, 6) ) ); 当插入数据无法匹配到已有的任意一级分区时,会自动创建一个新的一级分区,新一级分区的范围定义为单key(新数据对应的新分区键值),其下面会定义一个范围定义为单key的二级分区。 --一级分区键插入数据9,因为现有的一级分区p1、p2的键值中不包含9,所以自动创建一个新的一级分区sys_p1,分区定义为VALUES (9);同时二级分区键插入数据0,因为现有的二级分区的键值中不包含0,所以会在新的一级分区sys_p1定义一个新的二级分区sys_sp1,分区定义为VALUES (0)。 gaussdb=# INSERT INTO autolist_autolist VALUES (9, 0); 这一功能与如下命令等价: gaussdb=# ALTER TABLE autolist_autolist ADD PARTITION sys_p1 VALUES (9) (SUBPARTITION sys_sp1 VALUES (0)); gaussdb=# INSERT INTO autolist_autolist VALUES (9, 0); 当插入数据无法匹配到已有的任意二级分区时,会在对应的一级分区下自动创建一个新的二级分区,新二级分区的范围定义为单key(新数据对应的新分区键值)。 --二级分区键插入数据0,因为现有的二级分区的键值中不包含0,所以自动创建二级分区sys_sp2,分区定义为VALUES (0) gaussdb=# INSERT INTO autolist_autolist VALUES (4, 0); 这一功能与如下命令等价: gaussdb=# ALTER TABLE autolist_autolist MODIFY PARTITION p2 ADD SUBPARTITION sys_sp2 VALUES (0); gaussdb=# INSERT INTO autolist_autolist VALUES (4, 0); -- 清理示例 gaussdb=# DROP TABLE autolist_autolist; 二级分区表的列表分区自动扩展行为受AUTOMATIC关键字的指定位置影响: 若在一级分区后指定了AUTOMATIC关键字,则仅支持一级分区自动扩展,不支持二级分区的自动扩展,且不能定义有一级分区键值为DEFAULT分区。 若在二级分区后指定了AUTOMATIC关键字,则仅支持二级分区自动扩展,不支持一级分区的自动扩展,且不能定义有二级分区键值为DEFAULT分区。 若在一级分区和二级分区后同时指定了AUTOMATIC关键字,则同时支持一级分区和二级分区自动扩展,一级分区键值和二级分区键值均不能定义有DEFAULT分区。 父主题: 列表分区自动扩展
-
开启/关闭分区自动扩展 用户可以通过ALTER命令来对已创建的分区表开启/关闭分区自动扩展功能。这一操作会对分区表持有SHARE_UPDATE_EXCLUSIVE级别的表锁,与常规DQL/DML业务互不影响,但与DDL业务相互排斥。若DML业务触发自动扩展分区,也会与之互斥。不同级别锁的行为控制请参见常规锁设计。 开启/关闭范围分区自动扩展 开启/关闭一级列表分区自动扩展 开启/关闭二级列表分区自动扩展 父主题: 分区自动扩展
-
范围分区自动扩展 范围分区的自动扩展即间隔分区。开启范围分区自动扩展功能,需要在创建分区时明确指定INTERVAL子句。当前只支持一级间隔分区表,且只支持单列分区键。 -- 创建分区表并指定INTERVAL子句,表示支持范围分区自动扩展。 gaussdb=# CREATE TABLE interval_int (c1 int, c2 int) PARTITION BY RANGE (c1) INTERVAL (5) ( PARTITION p1 VALUES LESS THAN (5), PARTITION p2 VALUES LESS THAN (10), PARTITION p3 VALUES LESS THAN (15) ); 当插入数据无法匹配到已有的任意分区时,会自动创建一个新的分区,新分区的范围定义由上一个分区范围和INTERVAL值决定。 -- 分区键插入数据23,自动创建分区sys_p1,分区范围定义为[20, 25)。 gaussdb=# INSERT INTO interval_int VALUES (23, 0); -- 清理示例 gaussdb=# DROP TABLE interval_int; 父主题: 分区自动扩展
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格