Oracle 物联网和正常指数之间有什么区别?

Oracle 物联网和正常指数之间有什么区别?,oracle,indexing,Oracle,Indexing,请帮助我获取IOT和正常索引之间的差异IOT不是表中的索引,而是表中的索引 它的结构与(B-树)索引相同,但它不包含指向表的rowid,而是包含整行 这样做的副作用是,该表中的记录没有永久的rowid(因为它们会随着索引的重新组织而移动)。如果你想在物联网上建立额外的索引,这有点问题。通过使用扩展的rowid可以解决这个问题:辅助索引包含一个rowid,但如果它不再有效,它还包含主键,以便您仍然可以识别该行。IOT是一个存储在B树索引结构变体中的表。在一个堆组织的表中,行被插入到合适的位置。在索

请帮助我获取IOT和正常索引之间的差异

IOT不是表中的索引,而是表中的索引

它的结构与(B-树)索引相同,但它不包含指向表的rowid,而是包含整行


这样做的副作用是,该表中的记录没有永久的rowid(因为它们会随着索引的重新组织而移动)。如果你想在物联网上建立额外的索引,这有点问题。通过使用扩展的rowid可以解决这个问题:辅助索引包含一个rowid,但如果它不再有效,它还包含主键,以便您仍然可以识别该行。

IOT是一个存储在B树索引结构变体中的表。在一个堆组织的表中,行被插入到合适的位置。在索引组织的表中,行存储在表的主键上定义的索引中。B树中的每个索引项还存储非键列值。因此,索引就是数据,数据就是索引。应用程序使用SQL语句处理索引组织的表,就像处理堆组织的表一样

对于索引组织表的类比,假设人力资源经理有一个纸板箱的书箱。每个箱子都标有数字1、2、3、4等等,但箱子并不是按顺序放在架子上的。相反,每个框都包含指向序列中下一个框的工具架位置的指针

包含员工记录的文件夹存储在每个框中。文件夹按员工ID排序。员工King的ID为100,这是最低的ID,因此他的文件夹位于框1的底部。员工101的文件夹位于100的顶部,102位于101的顶部,依此类推,直到框1已满。序列中的下一个文件夹位于框2的底部

在这个类比中,按员工ID对文件夹进行排序可以有效地搜索文件夹,而无需维护单独的索引。假设用户请求员工107、120和122的记录。管理器可以按顺序搜索文件夹并按找到的文件夹进行检索,而不是一步搜索索引,一步检索文件夹

索引组织的表通过主键或键的有效前缀提供对表行的更快访问。叶块中的行的非键列的存在避免了额外的数据块I/O。例如,雇员100的工资存储在索引行本身中。此外,由于行是按主键顺序存储的,因此主键或前缀的范围访问涉及最小的块I/O。另一个好处是避免了单独主键索引的空间开销

更多信息,请阅读