开发者社区> 问答> 正文

【RDS】RDS MySQL引擎表索引方式更改为Hash无效,是什么原因?

已解决

RDS MySQL引擎表索引方式更改为Hash无效,是什么原因?

展开
收起
云上猫猫 2022-01-14 14:00:02 1285 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    MySQL包含的索引方式主要包括Btree、Hash、FullText和Rtree,经常使用的主要是Btree和Hash两种。通过DMS登录RDS实例后,执行DDL语句可以在InnoDB引擎表上创建Hash方式的索引,SQL语句如下。

    drop table if exists auth_order;
    create table auth_order (
        id smallint not null comment '主键',
    	member_id varchar(30) not null comment '会员id',
    	name varchar(100) not null comment '名称',
    	primary key (id),
    	key auth_mem_name (member_id) using hash
    ) engine=innodb default charset=utf8 comment='会员信息';
    

    系统显示类似如下。

    4.png

    可以看到该表中的索引是Hash方式,但是在DMS中查看表结构的时候发现该索引的方式是BTREE。

    5.png

    由于MySQL的InnoDB引擎不支持Hash索引,而MySQL服务层是有Hash索引选项的,因此建表语句可以使用子句using hash,而实际创建的索引类型仍然是Btree方式的索引。

    2022-01-14 14:01:20
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像