索引

作者: zzz_0427 | 来源:发表于2024-06-26 15:07 被阅读0次
索引是一种高效查找的数据结构,减少与磁盘的IO。
全表扫描的时候,由于数据分布在不同的位置上面,读取数据的时候,磁臂需要前后摆动查找数据,这样操作非常消耗时间,时间复杂度为O(n)。

当以(key,value)形式在二叉搜索树节点存储数据,key存储值,value存储行的文件指针。以二叉搜索树数据结构建立索引的时候,时间复杂度为O(log₂n)。

以下图为例,当搜索值为40,

第一次搜索的时候,40与30比较,40大于30,从30的右子树搜索,搜索范围变成(38、34、40)7/2=3个节点
第二次搜索的时候,40与38比较,40大于38,从38的右子树搜索,搜索范围变成(40)7/4=1个节点
第三次搜索的时候,40与40比较,40等于40,找到要搜索的数据,搜索范围变成7/8=0


二叉搜索树

由次类推,n个元素,k次搜索的时候,搜索范围变成n/2的k次方,当搜索范围等于1节点个的时候,2的k次方=n,k=log₂n

缺点:

1、创建和维护索引需要耗费时间,随着数据量的增加,所消耗的时间也会增加;
2、索引也需要占用磁盘空间;
3、降低了更新表的速度,当对表中的数据进行增加,删除和修改的时候,索引也会动态的维护。

相关文章

  • MySQL索引

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

  • Mysql优化

    一.索引科普 主键索引 唯一索引 普通索引 单列索引 多列索引 聚簇索引 非聚簇索引 前缀索引 全文索引 二.优化...

  • Oracle 索引学习

    创建索引 标准语法 唯一索引 组合索引 反向键索引 示例 删除索引 修改索引 重建索引 联机重建索引 合并索引

  • MySQL索引

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

  • Pandas数据操作

    Pandas数据操作 Series索引 行索引 切片索引 不连续索引 布尔索引 DataFrame索引 列索引 不...

  • 深入理解四种数据库索引类型(- 唯一索引/非唯一索引 - 主键索

    唯一索引/非唯一索引 主键索引(主索引) 聚集索引/非聚集索引 组合索引 唯一索引/非唯一索引 唯一索引 1.唯一...

  • MYSQL索引

    mysql的4种常用索引类型:唯一索引,主键索引,全文索引,以及普通索引。 普通索引(INDEX):普通索引为索引...

  • 索引类型

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

  • mysql 查询效率优化之 常用索引的几种类型 新手使用教程,少

    Mysql常见索引有:主键索引、唯一索引、普通索引、全文索引、组合索引(联合索引,多列索引) 一、建立的方法介绍 ...

  • MySql 数据查询优化

    1. MySQL索引类型: mysql的索引有5种:主键索引、普通索引、唯一索引、全文索引、聚合索引(多列索引)。...

网友评论

      本文标题:索引

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