当前位置: 首页 > news >正文

索引的数据结构

3.1 索引概述

3.1.1 为什么要使用索引

我们知道数据页可以组成一个双向链表,而每个数据页中的记录会按照主键值从小到大的顺序组成一个单向链表,每个数据页都会为存储在其中的记录生成一个页目录,在通过主键查找某条记录的时候可以在页目录中使用二分法快速定位到对应的槽,然后再遍历该槽对应分组中的记录即可快速找到指定的记录。
假设目前表中的记录比较少,所有的记录都可以被存放到一个页中,在查找记录的时候可以根据搜索条件的不同分为两种情况,当搜索条件为主键时:在页目录中使用二分法快速定位到对应的槽,然后再遍历该槽对应分组中的记录即可快速找到指定的记录。当搜索条件为非主键时:在数据页中并没有对非主键列建立所谓的页目录,所以我们无法通过二分法快速定位相应的槽。这种情况下只能从最小记录开始遍历单链表中的每条记录,然后对比每条记录是不是符合搜索条件。很显然,这种查找的效率是非常低的。
大部分情况下我们表中存放的记录都是非常多的,需要好多的数据页来存储这些记录。在很多页中查找记录的话可以分为两个步骤:① 定位到记录所在的页;② 从页中查询记录。在没有索引的情况下,不论是根据主键列或者其他非主键的值进行查找,由于我们并不能快速的定位到记录所在的页,所以只能从第一个页沿着双向链表一直往下找,在每一个页中根据我们刚刚的查找方式去查找指定的记录。因为要遍历所有的数据页,所以这种方式显然是超级耗时的,如果一个表有一亿条记录,使用这种方式去查找记录那要等到猴年马月才能等到查找结果。

http://www.dtcms.com/a/545899.html

相关文章:

  • 仓颉语言中的协程调度机制深度解析
  • 对网站设计的建议长沙工商注册网上核名
  • 大连企业制作网站上海专业的网络推广
  • 代做设计网站wordpress添加后台菜单
  • Adobe Illustrator 和 Adobe Photoshop 比较异同
  • 中国空间站有几个舱段阿里巴巴国际网站官网入口
  • WSF20N20:车载48V/12V DC-DC同步整流管
  • GEO 生成式引擎优化:技术路径与标杆企业实践 (2025年10月最新版)
  • 龙岩网站建设一般多少钱网站运营团队各岗位的职责是什么
  • notpad++工具使用正则,识别中文行加前缀
  • 【网络工程师】NAT网络地址转换技术
  • Rust 迭代器适配器
  • 鲜花购物网站源码淮安网站推广
  • 中国高定十大品牌seo排名方案
  • GitHub高质量的开源博客项目推荐
  • 峰峰企业做网站推广洛阳网站建设
  • 电子商务毕业设计网站专业搜索引擎seo服务商
  • 仓颉异步编程语法糖的深度剖析
  • JVM 执行引擎
  • 公司建立网站用于业务国内新闻摘抄2022年
  • 【计算机网络】IO复用方法(一)——引言
  • HuMo 让 AI 人物视频更生动可控
  • Rust:Tokio的性能监控与调优
  • 网站标题乱码wordpress 快速编辑器
  • 【JavaEE初阶】TCP核心机制5——流量控制
  • 机器学习日报07
  • 【IDEA】记录webapp下创建相同目录的一次错误
  • 仓颉语言 LinkedList 链表实现深度解析
  • 宁波网站制作网站支持asp的免费空间 适合钓鱼网站
  • Honeywell 扫描枪时间同步设定