性能优化:B*Tree 索引中的分裂事物控制

黄玮(Fuyuncat)

资深Oracle DBA,个人网www.HelloDBA.com,致力于数据库底层技术的研究,其作品获得广大同行的高度评价。

编辑手记:在前期的分享中,我们了解了B*Tree索引的分裂及存储参数等,今天我们继续来学习索引分裂中的分裂事务控制。

分裂事务控制

索引分裂是导致分裂的用户事务中调用的递归事务控制,其对资源的请求和释放都是在该递归事务中完成的。

在任何一块枝节点数据块上,有且只有一个 ITL slot,这个 ITL slot 不是被用于用户事务(User Transaction)的,而是被用于发生分裂时的递归事务的。同样,在叶子节点上,第一 ITL slot,也是用于此目的:

我们将叶子节点和枝节点 Dump 出来,可以看到叶子节点的第一条 ITL slot 和枝节点的 ITL slot不同于用户事务(叶子节点上第二条)的 ITL slot:

注意:也许你注意到了上述例子中,最后2个叶子节点的递归事务 ITL 与枝节点的递归事务ITL 相同。实际上,这就是在分裂时被“继承”下来的,而最后一个叶子节点因为还没有发生分裂,实际上也没有产生新的递归事务。

原文发布于微信公众号 - 数据和云(OraNews)

原文发表时间:2016-08-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏专知

【下载】PyTorch实现的神经网络翻译框架——机器翻译工具包 nmtpytorch

【导读】机器翻译是自然语言处理的重要组成部分,其目的是使用计算机自动将文本翻译成其他语言的形式。近年来,端到端的神经机器翻译发展迅速,已经成为机器翻译系统的新主...

3499
来自专栏Y大宽

RNA-seq(6): reads计数,合并矩阵并进行注释

小结 计数分为三个水平: gene-level, transcript-level, exon-usage-level 标准化方法: FPKM RPKM ...

2925
来自专栏Java成长之路

Solr理论基础

传统数据库是为了解决结构化存储而产生的,如关系型数据库、键值存储、操作磁盘文件的map-reduce(映射-规约)引擎,图引擎等。 传统型数据库的缺点:

1093
来自专栏大数据挖掘DT机器学习

Python+Selenium+PIL+Tesseract真正自动识别验证码进行一键登录

Python 2.7 IDE Pycharm 5.0.3 Firefox浏览器:47.0.1 PIL : Pillow-3.3.0-cp27-cp27m-...

4978
来自专栏生信技能树

(10)仿写fastqc-生信菜鸟团博客2周年精选文章集

用仿写软件的方法来学习编程 我首先仿写了fastqc软件,学会了很多基础知识: 仿写fastqc软件的一些功能-R代码 仿写fastqc软件的部分功能-perl...

33710
来自专栏cs

python统计一下自己的花费

1343
来自专栏熊二哥

快速入门系列--TSQL-01基础概念

    作为一名程序员,对于SQL的使用算是基础中的基础,虽然也写了很多年的SQL,但常常还是记不清一些常见的命令,故而通过一篇博文巩固相关的记忆,并把T-SQ...

2028
来自专栏人人都是极客

五分钟喝不完一杯咖啡,但五分钟可以带你入门TensorFlow

本文是《人人都能学人工智能-TensorFlow系列》文章的第一篇,这个系列会对TensorFlow的基础使用,SoftMax,交叉熵,Dropout,CNN,...

47012
来自专栏人工智能LeadAI

五分钟喝不完一杯咖啡,但五分钟可以带你入门TensorFlow

本文是《人人都能学人工智能-TensorFlow系列》文章的第一篇,这个系列会对TensorFlow的基础使用,SoftMax,交叉熵,Dropout,CNN,...

4479
来自专栏机器之心

资源 | 神经网络框架Chainer发布2.0正式版:CuPy独立

选自GitHub 机器之心编译 参与:李泽南、吴攀 Chainer 是一个灵活的神经网络框架,它的一个主要目标就是展现灵活性,允许我们用简单直观的方式编写出复...

45313

扫码关注云+社区