美文网首页
索引 - 原理

索引 - 原理

作者: 诺之林 | 来源:发表于2018-09-07 23:18 被阅读9次

复杂度

数据结构 查找 插入 删除
数组 O(n) O(n) O(n)
有序数组 O(logn) O(n) O(n)
链表 O(n) O(1) O(1)
有序链表 O(n) O(1) O(1)
二叉树 O(n) O(n) O(n)
有序二叉树 O(logn) ~ O(n) O(logn) ~ O(n) O(logn) ~ O(n)
B-Tree O(logn) O(logn) O(logn)
Hash O(1) O(1) O(1)

有序二叉树又称二叉查找树

B-Tree

B-Tree: 平衡多叉查找树

  • B(balanced): 左右子树层级相差<=1 相比非平衡提升最优查找效率

  • 多叉: 子树可以不仅仅只有两个 相比二叉树减少I/O操作以提升查找效率

B+Tree

B+Tree: B-Tree变种

  • 非叶子只存储键值而叶子只存储数据 相比BTree减少I/O操作以进一步提升查找效率

  • 叶子有序链接 -> 提升范围查找效率

Hash

Hash优缺点明显

  • 不支持排序

  • 不支持部分和范围查找

参考

相关文章

  • MySQL索引及查询优化书目录

    MySQL索引的原理之索引目的 MySQL索引的原理之索引原理 MySQL索引的原理之索引的类型 MySQL索引的...

  • Mysql进阶知识总结

    0-索引 索引原理与优化 0.1- MyISAM/InnoDB索引原理(聚集索引、非聚集索引) 索引是在存储引擎层...

  • MySQL索引

    MySQL索引 索引介绍 索引原理与分析 组合索引 索引失效分析 索引介绍 什么是索引索引:包括聚集索引、覆盖索引...

  • MySQL索引详解(四)BTree为什么更适合做索引结构

    根据文章MySQL索引详解(三)索引的底层原理,了解了MySQL的索引实现原理,那么为什么在众多的数据结构中,索引...

  • 10.10巴图鲁

    索引的原理

  • Mysql索引:图文并茂,深入探究索引的原理和使用

    目录 前言 1 索引原理探究 1.1 B树与B+树1.2 聚簇索引与非聚簇索引1.3 索引原理图示1.3.1 聚簇...

  • 3.MySQL索引原理与使用原则

    本章要点 1.索引原理2.索引类型3.使用原则4.有关索引的几个概念 1. 索引原理 索引的出现其实就是为了提高数...

  • 数据库索引

    索引原理 索引的优缺点 优点 缺点 注: 索引的存储类型 B-Tree索引 索引查询的条件 排序

  • Mysql InnoDB索引原理

    Mysql InnoDB索引原理 理解Mysql索引的原理和数据结构有助于我们更好的使用索引以及进行SQL优化,索...

  • 索引详解

    什么是索引? 索引的分类? B+Tree索引 哈希索引 R-Tree 全文索引 索引的原理? B-Tree索引 h...

网友评论

      本文标题:索引 - 原理

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