mysql索引数据块默认大小,MySQL Innodb 索引演变

MySQL中90%的慢Sql都可以通过索引来得到优化,为什么索引可以使Sql变的更快,我们需要先了解下MySQL InnoDB都有哪些索引。

按规则分类:Hash索引Memory引擎默认USING HASH

BTREE索引InnoDB引擎默认B+TreeUSING BTREE

按类型分类:主键也叫聚集索引,不允许有Null值

唯一索引同主键,但允许有Null值

二级索引辅助索引

全文索引MySQL5.6以后才支持,且只能是char、varchar,text字符类型才可以创建全文索引

复合索引多列联合的索引,可以是主键,也可以是辅助索引

数据结构:

不管哪种索引,都是一种数据结构。哈希表字段值通过Hash算法得出的Hash码,Hash索引中存储的即Hash码

二叉树每个节点包含左右指针、键值、存储地址,左子树的键值小于根的键值,右子树的键值大于根的键值

平衡二叉树每个节点包含左右指针、键值、存储地址,左子树的键值小于根的键值,右子树的键值大于根的键值,两个子树的高度最大差为1

BTree非叶子节点也存储数据,无双向链指针

B+Tree只有叶子节点存储数据,有双向链指针

哈希表:

哈希索引就是采用一定的哈希算法,把键值换算成新的哈希值,同时在哈希表中保存指向每个数据行的指针。检索时不需要类似B+Tree那样从根节点到叶子节点逐级查找,只需一次哈希算法即可定位到相应的位置,速度非常快。但优势只适用于键值唯一的等值查询。

二叉树与平衡二叉树:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值