暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 全文索引 (表、索引和LOB文件) 大小蠕变

ASKTOM 2018-12-12
537

问题描述

问: 我们如何 “管理” 表的关联SYS_LOB文件的大小?

背景: 我有一个表 [SRCH_CACHE],它被设置为查找表,因为无法以足够的速度连接/过滤两个基本表。这张表很简单。为清楚起见,此处提供了经过编辑的创建表,其中包含相关列:

CREATE TABLE APEX_EBS_DEV.SRCH_CACHE 
  (
    INVENTORY_ITEM_ID NUMBER, 
    SHORT_DESCRIPTION VARCHAR2(240 BYTE), 
    LONG_DESCRIPTION VARCHAR2(4000 BYTE), 
    PRIMARY KEY (INVENTORY_ITEM_ID)
  );
    
   CREATE INDEX APEX_EBS_DEV.SRCH_CACHE_TXT1 ON APEX_EBS_DEV.SRCH_CACHE (SHORT_DESCRIPTION) 
   INDEXTYPE IS CTXSYS.CONTEXT ;

  CREATE INDEX APEX_EBS_DEV.SRCH_CACHE_TXT2 ON APEX_EBS_DEV.SRCH_CACHE (LONG_DESCRIPTION) 
   INDEXTYPE IS CTXSYS.CONTEXT ;
复制



此表填充了950K条记录,平均短描述长度为71个字符,长描述长度为138个字符。通常,长描述为null。

总之,短描述中有65,600,598个字符,长描述中有11,029,843个字符。所以,大约77MB的数据,如果我计算正确的话。

问题是,我们最终得到了70GB大小的表,索引和LOB文件。这只会在生产中发生。我们的开发和测试环境会看到创建的表,填充的索引,然后它们保持相当稳定的大小。在生产中,在相同数量的记录下,它们似乎太大了,并且还在继续增长。特别是,我们不明白为什么SYS_LOB表会变得如此之大。

T-SPACE   SEGMENT_NAME              SEGMENT_TYPE      SIZE(GB)
APEX        SYS_LOB0012174458C00002$$     LOBSEGMENT        38.644710
APEX        DR$SRCH_CACHE_TXT1$I          TABLE             17.901370
APEX        DR$SRCH_CACHE_TXT1$X          INDEX              4.817383
APEX        DR$SRCH_CACHE_TXT2$I          TABLE              2.958008
APEX        SYS_LOB0012174445C00002$$     LOBSEGMENT         2.890808
APEX        SYS_IOT_TOP_12174462          INDEX              2.812500
APEX        SYS_IOT_TOP_12174449          INDEX              2.800781
APEX        DR$SRCH_CACHE_TXT2$X          INDEX              0.756836
APEX        SRCH_CACHE                    TABLE              0.218750
复制


您能否提供有关LOB表为何如此之大的任何见解?而且,有没有一种方法可以定期 “压缩” 索引,因为它们在合并数据时会定期增加大小?

罗伯


应用快递5.1.0.00.45
甲骨文数据库12c企业版版本12.1.0.2.0-64位生产
PL/SQL版本12.1.0.2.0-生产

专家解答

文本索引大小不仅取决于数据,还取决于它的输入方式,同步频率等。你可以在这里看到一些很好的信息

https://docs.oracle.com/en/database/oracle/oracle-database/12.2/ccapp/indexing-with-oracle-text.html#GUID-4313B6A6-510F-41E8-9B5C-3559F42742D4

因此,我可能首先要考虑的是优化是否可以纠正问题,尽管我必须承认-您所描述的增长似乎与众不同。
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论