MySQL存储引擎与索引

MySQL各个索引的特性(部分)支持情况表

MySql 各种存储引擎的特性对比详单

有些存储引擎不支持某些索引,你创建索引时指定了不支持索引类型并不会报错,会提示创建成功,此时你应该当心了,MySQL并没有真正的创建索引。

ALTER TABLE data_dict ADD INDEX data_dict_dn USING HASH (data_name);
SHOW INDEXES FROM data_dict;

SHOW INDEXES FROM data_dict  -->result

你会发现并没有索引data_dic_dn

从图1中我们可以看出,

  • InnoDB 支持事务,支持行级别锁定,支持 B-tree、Full-text 等索引,不支持 Hash 索引;
  • MyISAM 不支持事务,支持表级别锁定,支持 B-tree、Full-text 等索引,不支持 Hash 索引;
  • Memory 不支持事务,支持表级别锁定,支持 B-tree、Hash 等索引,不支持 Full-text 索引;
  • NDB 支持事务,支持行级别锁定,支持 Hash 索引,不支持 B-tree、Full-text 等索引;
  • Archive 不支持事务,支持表级别锁定,不支持 B-tree、Hash、Full-text 等索引;

可以使用 SHOW ENGINES 语句查看你的 MySql Server 所支持的存储引擎,比如笔者用于本机测试的 5.6.25-log Win 版的查看结果如下:
支持的存储引擎

 

 

 

可以看出,InnoDB 是该版本 MySql 的默认存储引擎,也只有 InnoDB 能够支持事务、行级别锁定、外键;支持的 MEMORY 是基于哈希的,数据都存放于内存,适用于临时表。没有看到既支持事务又支持哈希索引的 NDB 的身影。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值