美文网首页
索引类型

索引类型

作者: 酷酷的美猴王 | 来源:发表于2021-03-22 13:50 被阅读0次

哈希索引

hash表是以键值对存储数据的,通过对key做hash运算从而定位到直接的元素

1、检索效率高

2、不能使用范围查询;允许"=","IN"和"<=>"查询;不允许WHERE price > 100查询

3、不能避免表扫描;

4、为了减少hash碰撞,需要执行一个负载因子,也就是说需要空出一些空间,来减少hash冲突,所以当数据量很大时,会浪费较多的空间

二叉树

image.png

如果我们需要查找id=12的用户信息,利用我们创建的二叉查找树索引,只需要3次即可找到匹配的数据。如果在表中一条条的查找的话,我们需要6次才能找到。

平衡二叉树

1、左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值(平衡因子 )不超过1。也就是说AVL树每个节点的平衡因子只可能是-1、0和1(左子树高度减去右子树高度)

2、树的高度越高,查找速度越慢

B树索引

一个节点可以存储两个值,意味着它的树高度,比二叉树的高度更低,它的查询速度就更快

image.png

B+树

B+树一直比较特殊的B树,它只将数据存储在叶子节点上,同时每个叶子节点间还是指针相连

叶子节点中包含了key和value,key存储的是1-10这些数字,value存储的是数据存储地址,非叶子节点中只是包含了key,不包含value。

所有相邻的叶子节点包含非叶子节点,使用链表进行结合,有一定顺序排序,从而范围查询效率非常高

image.png

相关文章

  • 2020数据库最新面试题常考汇总

    [toc] MySQL索引 1.数据库中有哪些索引类型? 索引的几种类型:唯一索引、主键索引、聚集索引、普通索引、...

  • TypeScript

    可索引类型具有一个 索引签名,它描述了对象索引的类型,还有相应的索引返回值类型。 TS 版 Promise 详解

  • TypeScript基础入门之高级类型的索引类型(Index t

    转发 # TypeScript基础入门之高级类型的索引类型(Index types) 高级类型 索引类型(Inde...

  • MySql索引详解

    常见索引类型(实现层面) 索引种类(应用层面) 聚簇索引与非聚簇索引 覆盖索引 最佳索引使用策略 1.常见索引类型...

  • TypeScript06--高级类型(2)

    索引类型: keyof :索引类型查询操作符(返回所有的属性名) T[K]:索引访问操作符 映射类型: ...

  • mongodb索引

    索引Index: 索引类型: mysql索引:根据存储引擎的不同支持的索引类型也不同 建立索引需要考虑的问题: M...

  • MySQL索引

    索引的作用 查看索引 创建索引 删除索引 索引类型 强制索引和禁止某个索引

  • MySQL中的索引和锁

    索引 索引常见的几种类型 索引常见的类型有哈希索引,有序数组索引,二叉树索引,跳表等等。本文主要探讨 MySQL ...

  • MySQL索引背后的数据结构及算法原理

    一、索引的类型 MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。这里只涉及B Tree...

  • 索引类型

    索引类型有: 主键索引; 唯一索引; 普通索引; 全文索引; 多列索引;

网友评论

      本文标题:索引类型

      本文链接:https://www.haomeiwen.com/subject/yidzcltx.html