Mr.*_*Red 34 database oracle indexing
索引组织表(IOT)是存储在索引结构中的表.尽管存储在堆中的表是无组织的,但IOT中的数据被存储并按主键排序(数据是索引).IOT的行为就像"常规"表一样,并且您使用相同的SQL来访问它们.
适当的关系数据库中的每个表都应该有一个主键...如果我的数据库中的每个表都有一个主键,我应该总是使用索引组织表吗?
我猜答案是否定的,所以什么时候索引组织表不是最佳选择?
APC*_*APC 19
基本上,索引组织表是没有表的索引.因此,如果您的表的列由主键和最多一个其他列组成,那么您可能有INDEX ORGANIZED的候选者.
但是如果你发现自己正在考虑在非主键列上需要额外的索引,那么你可能最好使用常规堆表.因此,由于大多数表可能需要额外的索引,因此大多数表不适合IOT.
在实践中,索引组织表最有可能是参考数据,代码查找事务.应用程序表几乎总是只有堆组织.
我认为以下几种表格是物联网的优秀候选者:
我本身无法评论 IOT,但是如果我没看错的话,那么它们与 SQL Server 中的“聚集索引”相同。通常,如果您的主键(或者您正在索引的值,如果它不是主键)可能相当随机地分布,那么您应该考虑不使用这样的索引 - 因为这些插入可能会导致许多页面拆分(昂贵的)。
诸如标识列(Oracle 中的序列?)和“当前日期附近”的日期之类的索引往往是此类索引的良好候选者。
归档时间: |
|
查看次数: |
32233 次 |
最近记录: |