检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
唯一索引 GaussDB(DWS)不支持唯一索引(约束)与主键约束联合使用。DSC工具迁移时会根据GaussDB(DWS)的特性进行相应适配。 MySQL唯一索引(约束)与主键约束联合使用的场景在工具迁移时会与OLAP场景下的分布键构成复杂的关系。工具暂不支持唯一索引(约束)与主键约束联合使用的场景。
普通索引和前缀索引 GaussDB(DWS)不支持前缀索引,也不支持内联普通索引。DSC工具迁移时会根据GaussDB(DWS)的特性将其迁移为普通索引。 内联普通(前缀)索引。 输入示例 1 2 3 4 5 6 CREATE TABLE IF NOT EXISTS `public`
索引 唯一索引 普通索引和前缀索引 HASH索引 BTREE索引 SPATIAL空间索引 FULLTEXT全文索引 删除索引 索引重命名 父主题: MySQL语法迁移
HASH索引 GaussDB(DWS)不支持HASH索引。DSC工具迁移时会根据GaussDB(DWS)的特性将其迁移为普通索引。 内联HASH索引。 输入示例 1 2 3 4 5 6 7 8 9 10 11 12 CREATE TABLE `public`.`
UNIQUE INDEX创建唯一索引。 唯一约束和唯一索引功能上不同 约束主要是为了保证数据的完整性,索引主要是为了辅助查询。 唯一约束和唯一索引使用方法上不同 唯一约束和唯一索引,都可以实现列数据的唯一,列值可以有NULL。 创建唯一约束,会自动创建一个同名的唯一索引,该索引不能单独删除
引名冲突(只支持创建有具体索引名的DDL语句,目前不支持删除索引的重命名,修改该参数需慎重)。 修改配置 打开表1 features-mysql.properties文件中的配置参数配置文件,修改如下参数为true。(默认false:不进行重命名) 1 2 # 创建索引时,是否重新命名索引名
BTREE索引 GaussDB(DWS)支持BTREE索引,但USING BTREE关键字在语句中的位置与MySQL存在差异。DSC工具迁移时会根据GaussDB(DWS)的特性进行相应适配。 内联BTREE索引 输入示例 1 2 3 4 5 6 7 8 9 10
删除索引 MySQL支持DROP INDEX和ALTER TABLE DROP INDEX两种删除索引的语句。DSC工具迁移时会根据GaussDB(DWS)的特性进行相应适配。 DROP INDEX 输入示例 1 2 3 4 5 6 7 8 9 10 11 12
修改索引只调用索引名提示索引不存在 问题现象 创建分区表索引HR_staffS_p1_index1,不指定索引分区的名字。 1 CREATE INDEX HR_staffS_p1_index1 ON HR.staffS_p1 (staff_ID) LOCAL; 创建分区索引HR
创建GIN索引 为了加速文本搜索,可以创建GIN索引。 1 CREATE INDEX pgweb_idx_1 ON tsearch.pgweb USING gin(to_tsvector('english', body)); to_tsvector()函数有两个版本,只输一个参数的版本和输两个参数的版本。
FULLTEXT全文索引 GaussDB(DWS)不支持FULLTEXT全文索引。DSC工具迁移时会根据GaussDB(DWS)的特性进行相应适配。 内联FULLTEXT全文索引。 输入示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
SPATIAL空间索引 GaussDB(DWS)不支持SPATIAL空间索引。DSC工具迁移时会根据GaussDB(DWS)的特性进行相应适配。 内联SPATIAL空间索引。 输入示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
BY HASH(SM_SHIP_MODE_SK); 在表tpcds.ship_mode_t1上的SM_SHIP_MODE_SK字段上创建唯一索引: 1 2 DROP INDEX IF EXISTS ds_ship_mode_t1_index1; CREATE UNIQUE INDEX
MySQL配置 设置MySQL配置参数可在迁移MySQL数据库脚本时自定义迁移工具的行为。 打开config文件夹中的features-mysql.properties文件,并根据实际需要设置features-mysql.properties文件中的配置参数中的参数。 表1 features-mysql
引。 列存表支持通过B-tree索引建立唯一索引。 列存表和HDFS表支持的PSORT索引不支持创建表达式索引、部分索引和唯一索引。 列存表支持的GIN索引支持创建表达式索引,但表达式不能包含空分词、空列和多列,不支持创建部分索引和唯一索引。 列存索引不支持OR查询过滤条件及inlist场景。
CHANGE修改列 MySQL使用CHANGE关键字同时修改列名、列数据类型、设置非空约束。DSC工具迁移时会根据GaussDB(DWS)的特性进行相应适配。 输入示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
CHANGE修改列 设置与清除列默认值 DROP删除表 TRUNCATE 删除表 LOCK RENAME 重命名表名 8.0.0 - - 索引 唯一索引 普通索引和前缀索引 HASH索引 BTREE索引 SPATIAL空间索引 FULLTEXT全文索引 删除索引 索引重命名 8.0.0 - 注释
引号 单引号 MySQL中别名带单引号,GaussDB(DWS)不支持,DSC迁移改为双引号。 输入示例 1 select name as 'mingzi' from t1; 输出示例 1 2 3 4 SELECT name AS "mingzi" FROM t1; 反引号
REPLACE MySQL的REPLACE操作形式包括:LOW_PRIORITY、PARTITION 、DELAYED 、VALUES、SET;(下述迁移示例为临时迁移方案) REPLACE的工作方式与INSERT完全相同,不同之处在于,如果表中的旧行与主键或唯一索引的新行具有相同的值,则在插入新行之前删除该旧行。
not support unique indexes" SQLSTATE: 0A000 错误原因:该索引方式不支持唯一索引。 解决办法:请勿使用报错提示的索引类建立唯一索引。 GAUSS-01282: "access method '%s' does not support multicolumn