Oracle 11g Release (11.1) 索引底层的数据结构

本文介绍关于 Oracle 索引的结构。大概了解 Oracle 索引底层的数据结构,从而更好地理解 Oracle 索引对增、删、改、查的性能

本文内容 B-树(B-tree) 散列(Hash) k-d 树(k-d tree) 点四叉树(Point Quadtree)

本文介绍关于 Oracle 索引的结构。大概了解 Oracle 索引底层的数据结构,从而更好地理解 Oracle 索引对增、删、改、查的性能。

B-树(B-tree)

非索引的结构能满足所有需要,但自平衡的 B-树索引结构更能优化在大数据集上检索的性能。每个 B-树节点拥有多个键和指针。特定 B-树支持的一个节点中键的最大数量是那颗树的顺序。每个节点都具有一个潜在的 order+1 指针,指向比它更低一级的节点。

例如,如图 1 所示,order=2 的 B-树具有三个指针,分别指向:比它第一个键小的子节点(最左边的指针);比它第一个键大,比第二个键小的子节点(中间的指针);比它第二个键大的子节点(最右边的指针)。因此,B-树算法,最大限度地减少定位记录所需的读写,通过传递比二叉树算法更少的节点,二叉树对每个确定的节点,用一个键和最多两个子节点(二叉树的结构是一个键值,左右两个指针,B-树是二叉树的扩展)。下图描述的是克努特变换(Knuth variation),它的索引由两部分组成:一个顺序集(Sequence set),提供快速顺序的访问数据;一个索引集(Index set),提供直接访问顺序集。

虽然,B-树的节点,一般不包含相同数量的数据值,并且他们通常包含一定量的未使用空间,B-树算法确保树保持平衡,和叶节点在同一级上。

图 1 B-树

散列(Hash)

散列根据一个给定字段值快速直接地访问一个特定的已存储的记录。每个记录被放置的位置是根据同一个函数,记录的一些字段域的函数计算的。并用相同的函数插入和更新。

散列的问题是记录的物理顺序与它们的逻辑顺序没有任何关系。另外,散列会在磁盘上存在大量未使用的区域。

图 2 散列

k-d 树(k-d tree)

具有两维的数据,例如经度和纬度,可用通过使用 k-d树变换,称为 2-d 树,被有效地存储和检索。

在这个结构,每个节点的数据类型,是字段信息,两个坐标,和指向两个子节点的左指针和右指针。

即构数智人 即构数智人

即构数智人是由即构科技推出的AI虚拟数字人视频创作平台,支持数字人形象定制、短视频创作、数字人直播等。

即构数智人 36 查看详情 即构数智人

图 3 2-d 树

这种结构利于范围查询。也就是说,如果用户指定一个点(xx, xx)和一个距离,那么,查询会返回在这个指定的原来点距离内的所有点集合。

2-d 树很容易实现。但是因为,一个包含 k 个节点的 2-d 树具有 k 高度,因此,插入和查询复杂。

点四叉树(Point Quadtree)

点四叉树,在图 4 所示,也用来表示在一个两维空间中的点数据,但这些结构把区域划分为四个部分,而 2-d 树划分为两个。节点记录类型的字段由属性信息组成,包括两个坐标和指向四个子节点的方位点,按顺时针,如西北NW,西南SW,东北NE,东南SE。

图 4 Point Quadtree 索引结构

点四叉树跟 2-d 树一样也很容易实现。一个包含 k 个节点的四叉树具有 k 高度,插入和查询复杂。每个比较都要求在至少两个坐标上进行。然而,实际中,从 root 到 leaf 的长度在点四叉树中往往较短。

复制上面第二个链接里边提供的 Python 代码,做适当修改。因为,网页提供的代码只能运行在较低版本 Python。Python 3 之后的版本跟之前的差异较大。因此,下载本文最后源代码,并在 Python 3.3 的 IDLE 运行。会得到如下输出:

Python 3.3.0 (v3.3.0:bd8afb90ebf2, Sep 29 2012, 10:57:17) [MSC v.1600 64  (AMD64)]  win32

Type "copyright", "credits"  "license()"  more information.

>>> ================================ RESTART ================================

>>> 

<!DOCTYPE svg  "-

 "http:

<svg xmlns="http:

 

 

 

 

 

 

 

 

 

 

……

复制输出的结果,命名为 .svg,.html 也行,用浏览器打开,会呈现下图:

图 5 一个 8*8 大小的点四叉树区域

看这个图,从左上角开始,顺时针。你可以当做“根据需要,是否要点,不断按 4 个分裂其中一个方块”。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/475771.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月8日 09:18:16
下一篇 2025年11月8日 09:22:47

相关推荐

  • MOCA链:革新数字身份和分散隐私

    探索moca链如何以分散隐私和用户数据控制为核心,重塑数字身份体系。 MOCA链:重构数字身份与隐私保护的新范式 在数据安全日益受到重视的今天,MOCA链应运而生,成为解决用户隐私问题的关键力量。这条Layer 1区块链致力于让用户掌握自己的数字身份,同时实现真正的去中心化隐私管理。接下来,我们将深…

    2025年12月8日
    000
  • SPK币是什么?Spark 的治理结构、依赖与风险介绍

    在前两篇中,我们已经理解了 spark 的产品结构与空投机制,但一个 defi 项目能否真正走远,关键还在于它背后的人与权力——治理架构是否健康?资金机制是否透明?依赖路径是否安全可控? 今天这篇文章,我们就来完整拆解 Spark 的治理结构、与 MakerDAO 的深度绑定关系,以及可能面临的结构…

    2025年12月8日
    000
  • 什么是Mira?Mira功能、团队、未来、路线图介绍

    什么是mira?mira有什么作用?2025 mira发展路线图是什么? 近年来,生成式人工智能的快速发展对基础设施和工作流程提出了新的要求,特别是在验证和评估方面。 Mira正在构建一个创新的第1层网络,为AI输出提供无需信任、可扩展且准确的验证。通过将复杂的AI输出分解为更小的可验证部分,并利用…

    2025年12月8日 好文分享
    000
  • 顶级RWA加密项目将于2025年观看

    本文探讨,列出和审查了最佳的rwa加密投资,这些投资可能在2025年提供超大的回报。 迫切需要弥合传统金融与区块链技术之间差距的努力为新的创新浪潮打开了大门,令牌化是最新的。 该概念本身(令牌化)与将物理和传统金融资产转换为区块链的数字代币有关。 在太长时间以来,由于高入境成本,地理限制和流动性问题…

    2025年12月8日
    000
  • ChainLink(Link)鲸鱼交易6000万美元,市场活动峰值45%

    分散的Oracle协议ChainLink(Link)在过去24小时内作为鲸鱼交易在过去24小时内注册了重大市场活动。 根据Intotheblock数据,ChainLink(Link)的鲸鱼活动激增,在过去24小时内,大量交易量增加了45%。 这种活动的激增可能是由于市场的价格转移,这引起了大型持有人…

    2025年12月8日
    000
  • XRP价格动作形成了头和股的模式,为暴跌设置了舞台

    在5月份尝试重新获得高于$ 2.60的动量后,xrp一直难以保持这一涨势。 Chainlink的一份最新报告强调了去中心化Oracle网络在推动高级混合金融产品开发中的核心作用。这类融合传统金融(“Fi’”)与去中心化金融(“’defi’”)的产品,有望重塑金融领…

    2025年12月8日
    000
  • UNI继续领导分散的交易所

    尽管竞争激烈,但其一致的升级和强大的流动性池有助于保持相关性。 加密货币的价格每天可能会大幅上涨或下降,试图预测价格变动可能有风险。最好投资于您理解和相信的加密货币,并为损益的可能性做好准备。此外,重要的是要注意,加密货币是一种挥发性资产类别,任何预测价格变动的尝试都是投机性的。 加密货币的价格,尤…

    2025年12月8日
    000
  • 5个可能爆炸的病毒令牌:从基础设施播放到最佳模因硬币

    随着比特币壮观的历史最高高点,可显而易见的“ altcoin季节”正在占据,投资者疯狂地寻找下一枚加密货币爆炸。 随着比特币(BTC)出色的辉煌集会升至新的高潮之后,明显的“ Altcoin赛季”正在持续下去,投资者疯狂地寻找下一枚加密货币硬币要爆炸。在这个高能环境中,捕捉巨大社区嗡嗡声的项目是展示…

    2025年12月8日
    000
  • Credefi 3.0重塑贷款带有令牌的附带池

    credefi 3.0的发布象征着区块链借贷领域的变革。其核心在于一种模块化设计,能够实现抵押品的代币化,使现实世界的资产重新融入链上信贷体系。 魔术广场(Magic Square)分享了关于即将推出的Credefi 3.0更新的见解,重点介绍了旨在连接传统金融(TradFI)与去中心化金融(DeF…

    2025年12月8日
    000
  • 这5个加密货币可能是当今最明智的举动吗?

    随着注意力转移超越市值和炒作周期,分析师现在指出了富含基础设施的区块链 注意力正在从市值炒作转向悄悄地改变区块链世界运作方式的项目。随着在关键生态系统中的机构活动变暖和预售利息的回报,寻找今天购买的最佳加密货币的搜索变得更加技术性和针对性。对于那些跟踪潜在的长期收益的人,这一刻少于转瞬即逝的价格趋势…

    2025年12月8日
    000
  • 加密市场正在辐射不可否认的能源

    加密货币市场在2025年5月下旬散发出不可否认的能源,这是由高度积极的新闻和事件的汇合而引起的,这些新闻和事件正在重塑 加密货币市场将在2025年5月下旬以不可否认的能源升温,这是由于高度积极的新闻和事件的融合,这些新闻和事件正在改变投资者对市场的看法。 就在最近,比特币迅速达到了令人惊叹的新历史最…

    2025年12月8日
    000
  • TRB币(Tellor Tributes)详细介绍与2025年末价格预测

    目录 1. TRB币的基本信息2. 当前市场表现(2025年5月)3. 历史价格波动与关键事件4. 2025年末价格预测(单向看涨/看跌)5. 投资建议 截至2025年5月27日,trb价格为 37.2美元。 TRB币英文全称为Tellor,是Tellor系统的实用代币,也是基于以太坊的ERC-20…

    2025年12月8日
    000
  • 尽管最近有报道,但R3 Corda定居者仍使用XRP

    xrp社区成员及研究者smqke正在引发关于r3是否仍会继续将xrp用于其corda settler平台的社区热议。 XRP社区成员及研究者Smqke正持续探讨R3是否会继续采用XRP作为其Corda Settler平台的一部分。 这一讨论起源于Smqke于2018年12月5日分享的R3演示视频,该…

    2025年12月8日
    000
  • 查尔斯·霍斯金森(Charles Hoskinson)在比特币和XRP Defi中看到了数十亿美元的机会

    霍斯金森(hoskinson)多次调侃称,将去中心化金融(defi)引入比特币网络的举措并不明智。近期,他分享了一张带有xrp的图片,似乎在暗示某种潜在的合作。 Cardano的创始人查尔斯·霍斯金森(Charles Hoskinson)表达了希望在Cardano区块链上看到XRP DeFi的愿望,…

    2025年12月8日
    000
  • CETUS协议利用停顿操作,触发2.23亿美元的损失和SUI代币抛售

    2025年5月26日,sui/usdt 4小时图表显示了一个看涨的旗形形态。这种形态通常出现在急剧上涨后,随后进入一个向下倾斜的通道中。 2025年5月26日,在SUI/USDT 4小时图上出现了看涨的旗形。这种形态预示着之前上升趋势可能的延续。 若此看涨旗形得以确认,SUI的价格可能从当前的3.5…

    2025年12月7日
    000
  • SOLV协议加深了与Chainlink的储备证明(POR)系统的整合

    solv协议是一个以比特币为基础的领先defi平台,已经深化了与chainlink储备证明(por)系统的整合。 SOLV协议是比特币生态中的一个重要DeFi平台,现已宣布与Chainlink的储备证明(POR)系统实现更紧密的结合。 这一举措旨在为SOLV的标记化比特币产品SOLVBTC及其20亿…

    2025年12月7日
    000
  • 连锁链接(链接)价格接近突破点,可能触发大量向上移动

    chainlink的价格正接近一个重要的技术转折点,专家认为这可能引发显著的上涨趋势。 Chainlink的价格正靠近一个关键的技术节点,专家指出这可能触发大量的向上波动。Oracles代币在日线图上形成了一个下降楔形形态,最近的价格走势正在测试自2024年底以来一直压制增长的阻力位。 加密货币市场…

    2025年12月7日
    000
  • ChainLink(Link)在开发活动方面继续主导着Crypto的现实资产(RWA)领域

    santiment在社交媒体平台x上的一篇新帖子中指出,chainlink在过去30天内注册了532.43个著名的github事件。 根据分析公司的说法,分散的Oracle网络链链路(Link)继续在加密货币的现实世界中占据主导地位,就开发活动而言。 santiment在社交媒体平台x上的一篇新帖子…

    2025年12月7日
    000
  • LINK币未来如何?2025-2031年Chainlink(LINK)币价格预测

    目录 Chainlink(LINK)币概述Chainlink(LINK)币价格预测:技术分析Chainlink(LINK)币价格分析每日图表上的LINK币价格分析4小时图表上的LINK币价格分析LINK币技术指标:水平和行动每日简单移动平均线 (SMA)每日指数移动平均线 (EMA) Chainli…

    2025年12月7日 好文分享
    000
  • Oracle DATE 类型存储时间戳及如何仅存储日期

    本文旨在解释 Oracle 数据库中 DATE 类型总是包含时间戳的原因,并提供在数据库中存储日期时去除时间部分的方法,重点介绍如何通过格式化函数控制日期显示,而非修改数据库结构。 在 Oracle 数据库中,DATE 类型的设计初衷就是同时存储日期和时间信息。即使你只关心日期部分,DATE 类型仍…

    2025年12月6日 java
    000

发表回复

登录后才能评论
关注微信