mysql sparse索引_0619数据库_MySQL_由浅入深理解索引的实现

这篇文章是介绍MySQL数据库中的索引是如何根据需求一步步演变最终成为B+树结构的以及针对B+树索引的查询,插入,删除,更新等操作的处理方法。Oracle和DB2数据库索引的实现基本上也是大同小异的。文章写得很通俗易懂,就转在这了。关于B+树和索引内部结构可以参考:《B 树、B- 树、B+ 树和B* 树》和《深入理解DB2索引(Index)》。

00 – 背景知识

- B-Tree & B+Tree

- 折半查找(Binary Search)

- 数据库的性能问题

A. 磁盘IO性能非常低,严重的影响数据库系统的性能。

B. 磁盘顺序读写比随机读写的性能高很多。

- 数据的基本存储结构

A. 磁盘空间被划分为许多大小相同的块(Block)或者页(Page).

B. 一个表的这些数据块以链表的方式串联在一起。

C. 数据是以行(Row)为单位一行一行的存放在磁盘上的块中,如图所示.

D. 在访问数据时,一次从磁盘中读出或者写入至少一个完整的Block。

1351130976_6267.jpg

Fig. 1

01 – 数据基本操作的实现

基本操作包括:INSERT、UPDATE、DELETE、SELECT。

- SELECT

A. 定位数据

B. 读出数据所在的块,对数据加工

C. 返回数据给用户

- UPDATE、DELETE

A. 定位数据

B.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值