开发者社区> 问答> 正文

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

已解决

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

展开
收起
云上猫猫 2022-01-14 14:00:02 1315 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
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
问答排行榜
最热
最新

相关电子书

更多
TcpRT:阿里云RDS智能诊断系统云上大规模部署自动化服务的客户实践经验 立即下载
TcpRT:面向大规模海量云数据库的服务质量实时采集与诊断系 立即下载
袋鼠云基于阿里云RDS的数据库架构实践 立即下载

相关镜像