数据库索引的实现原理(笔记)详细http://www.linezing.com/blog/?p=798#nav-1
2024-08-26 14:57:10
数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。
在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。
为表设置索引要付出代价的:一是增加了数据库的存储空间,二是在插入和修改数据时要花费较多的时间(因为索引也要随之变动)。
上图展示了一种可能的索引方式。左边是数据表,一共有两列七条记录,最左边的是数据记录的物理地址(注意逻辑上相邻的记录在磁盘上也并不是一定物理相邻的)。为了加快Col2的查找,可以维护一个右边所示的二叉查找树,每个节点分别包含索引键值和一个指向对应数据记录物理地址的指针,这样就可以运用二叉查找在O(log2n)的复杂度内获取到相应数据。
最新文章
- jquery.validate:
- Web项目,F12调试的说明
- 【POJ】2296 Map Labeler
- string s = null 和 string s = “”的区别
- Codeforces Round #181 (Div. 2) C. Beautiful Numbers 排列组合 暴力
- 2014--9=17 软工二班 MyEclipse blue==5
- JDK1.8 HashMap中put源码分析
- iOS: XCode6 beta 6 错误
- php 中的魔术方法-----“事件方法”
- mysql 查询缓存配置和查看
- [LeetCode] Monotone Increasing Digits 单调递增数字
- [Django] 单元测试小记
- es6(二):解构赋值
- Log4j配置(xml和property两种)
- (77)Wangdao.com第十五天_JavaScript 用于数据交换的文本格式 JSON 对象
- 开源RPC Jupiter
- keepalive的工作原理和如何做到健康检查
- spyder 安装
- Python算法(一)冒泡排序
- Python 函数(三)