TDSQL-C MySQL 版 全局索引

腾讯云TXSQL 8.0支持分区表创建全局二级索引,用于提升分区表查询性能,但需注意多种DDL限制,如不支持DISCARD/EXCHANGE/REBUILD等操作,且全局索引不能做主键、Unique索引必须包含全部分区字段。 【创建方式】:建表或建索引时加global关键字即可创建全局索引。 【限制说明】:全局索引不支持压缩表、非分区表自动转普通索引、TRUNCATE需特殊语法。

相关产品
TDSQL-C MySQL 版 产品页,含版本规格、价格与购买入口。

一、功能介绍

支持对分区表创建全局二级索引。

二、支持版本

内核版本 TXSQL 8.0 3.1.15及以上。

三、适用场景

在分区表中通过创建全局二级索引,来提高分区表查询的效率和性能。

四、注意事项

·DDL 使用限制(以下是 页面文档 的 partition_option 中不支持的 DDL 操作)。

·DISCARD PARTITION 和 IMPORT PARTITION:因为全局索引和 partition 不在一个表空间中。

·COALESCE PARTITION:当表为无主键表时,执行此操作全局索引会出现重复记录。

·REORGANIZE PARTITION:可能导致全局索引出现重复数据。

·EXCHANGE PARTITION:全局索引和 partition 不在一个表空间中,全局索引无法交换数据。

·REBUILD PARTITION:无主键分区表可能出现重复记录。

·REPAIR PARTITION:可能导致全局索引丢失数据。

·全局索引不能作为主键索引,包括隐式转为主键的情况(不包含主键时,unique 的全局索引无法创建)。

·unique 的全局索引必须包含所有的分区字段。

·全局索引暂不支持需要 copying data 的分区级别 DDL。

·全局索引不支持压缩表(修改 KEY_BLOCK_SIZE)及透明页压缩。

·全局索引不支持非分区表,非分区表创建全局索引时会自动转为普通索引。

·包含全局索引的 hash 分区不支持 add、coalesce 操作。

·包含全局索引的分区表在 truncate 分区时必须使用 alter table truncate partition with global index 的语法。

·全局索引中不能包含 Generated Columns。

·全局索引的 AHI 被默认禁止。

·推荐使用 simple select 方式来访问全局索引,不建议使用特殊用法。

五、建立全局索引表

create table t1 ( a bigint unsigned not null PRIMARY KEY, b varchar(16) not null, pad varchar(128) not null, key key_b(b) global — 增加 global 关键字,在建表中指定全局索引)PARTITION BY RANGE(a) ( PARTITION p0 VALUES LESS THAN (10000000), PARTITION p1 VALUES LESS THAN (20000000), PARTITION p2 VALUES LESS THAN (30000000), PARTITION p3 VALUES LESS THAN (MAXVALUE));

六、在已经存在的表中建立全局索引

create index key_b on t1(b) global; — 增加 global 关键字,在建索引中指定全局索引alter table t1 add index key_b(b) global;

赞 (0)
上一篇 4天前
下一篇 4天前