知识大全 Oracle全文索引的STORAGE属性使用介绍

Posted 索引

篇首语:学者的一天比不学无术的人一生还有价值。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Oracle全文索引的STORAGE属性使用介绍相关的知识,希望对你有一定的参考价值。

Oracle全文索引的STORAGE属性使用介绍  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  这篇文章介绍Oracle全文索引的STORAGE属性

  Oracle全文索引的STORAGE属性是为了给全文索引生成的辅助表设置存储参数的

  Oracle的全文索引会生成一张或多张辅助表 由于这些表是Oracle自动生成的 用户没有办法直接设置这些表和索引的物理参数 因此Oracle提供了STORAGE属性 专门设置这些辅助表和索引的物理参数

  SQL SELECT * FROM TAB;

  TNAME TABTYPE CLUSTERID—————————— —— ——— DR$IND_T_DOCS$I TABLEDR$IND_T_DOCS$K TABLEDR$IND_T_DOCS$N TABLEDR$IND_T_DOCS$P TABLEDR$IND_T_DOCS$R TABLET TABLE

  已选择 行

  上面的五张表都是全文索引生成的 CONTEXT索引生成表的规则是DR$+索引名+$+表用途标识

  DR$IND_T_DOCS$I存储的是索引数据表(Index data table);

  DR$IND_T_DOCS$K存储的是键值映射表(Keymap table);

  DR$IND_T_DOCS$R是ROWID表(Rowid table);

  DR$IND_T_DOCS$N是负键值链表(Negative list table);

  DR$IND_T_DOCS$P这个表只有在CONTEXT索引中设置BASIC_WORDLIST的SUBSTRING_INDEX属性后才会生成 用来保存单词的部分内容

  DR$IND_T_DOCS$X这个索引是DR$IND_T_DOCS$I表的索引

  SQL SELECT TABLE_NAME INDEX_NAME FROM USER_INDEXES WHERE INDEX_NAME LIKE DR% ;

  TABLE_NAME INDEX_NAME—————————— ——————————DR$IND_T_DOCS$I DR$IND_T_DOCS$X

  如果不进行设置 那么Oracle会将这些对象存放到默认表空间中 并根据默认表空间的存储参数设置这些对象的存储参数

   SQL SELECT

   TABLE_NAME NAME

   DECODE

   (

   IOT_TYPE

   IOT

   (

   SELECT TABLESPACE_NAME

   FROM USER_INDEXES

   WHERE TABLE_NAME = A TABLE_NAME

   AND INDEX_TYPE = IOT TOP

   )

   TABLESPACE_NAME

   ) TABLESPACE_NAME

   FROM USER_TABLES A

   WHERE TABLE_NAME LIKE DR%

   UNION ALL

   SELECT INDEX_NAME NAME TABLESPACE_NAME

   FROM USER_INDEXES

   WHERE INDEX_NAME LIKE DR% ;

  NAME TABLESPACE_NAME—————————— ——————— DR$IND_T_DOCS$I YANGTKDR$IND_T_DOCS$K YANGTKDR$IND_T_DOCS$N YANGTKDR$IND_T_DOCS$P YANGTKDR$IND_T_DOCS$R YANGTKDR$IND_T_DOCS$X YANGTK

  已选择 行

  下面通过设置STORAGE属性 设置自动生成的表和索引的表空间属性

  SQL CREATE TABLE T (ID NUMBER DOCS VARCHAR ( ));

  表已创建

  SQL INSERT INTO T VALUES ( A simple example for storage );

  已创建 行

  SQL MIT;

  提交完成

  SQL CONN CTXSYS/CTXSYS@YANGTK

  注意 这里是ctxsys登陆 登陆前一般需要解锁ctxsys用户/ alter user ctxsys account unlock;已连接

   SQL BEGIN

   CTX_DDL CREATE_PREFERENCE( TEST_WORDLIST_STORAGE BASIC_WORDLIST );

   CTX_DDL SET_ATTRIBUTE( TEST_WORDLIST_STORAGE SUBSTRING_INDEX TRUE );

   CTX_DDL CREATE_PREFERENCE( TEST_STORAGE BASIC_STORAGE );

   CTX_DDL SET_ATTRIBUTE( TEST_STORAGE I_TABLE_CLAUSE TABLESPACE USERS );

   CTX_DDL SET_ATTRIBUTE( TEST_STORAGE K_TABLE_CLAUSE TABLESPACE TOOLS );

   CTX_DDL SET_ATTRIBUTE( TEST_STORAGE R_TABLE_CLAUSE TABLESPACE EXAMPLE );

   CTX_DDL SET_ATTRIBUTE( TEST_STORAGE N_TABLE_CLAUSE TABLESPACE USERS );

   CTX_DDL SET_ATTRIBUTE( TEST_STORAGE P_TABLE_CLAUSE TABLESPACE TOOLS );

   CTX_DDL SET_ATTRIBUTE( TEST_STORAGE I_INDEX_CLAUSE TABLESPACE INDX );

   END;

   /

  PL/SQL 过程已成功完成

  SQL CONN YANGTK/YANGTK@YANGTK已连接

   SQL CREATE INDEX IND_T_DOCS ON T(DOCS) INDEXTYPE IS CTXSYS CONTEXT

   PARAMETERS ( WORDLIST CTXSYS TEST_WORDLIST_STORAGE STORAGE CTXSYS TEST_STORAGE );

  索引已创建

  SQL SELECT

   TABLE_NAME NAME

   DECODE

   (

   IOT_TYPE

   IOT

   (

   SELECT TABLESPACE_NAME

   FROM USER_INDEXES

   WHERE TABLE_NAME = A TABLE_NAME

   AND INDEX_TYPE = IOT TOP

   )

   TABLESPACE_NAME

   ) TABLESPACE_NAME

   FROM USER_TABLES A

   WHERE TABLE_NAME LIKE DR%

   UNION ALL

   SELECT INDEX_NAME NAME TABLESPACE_NAME

   FROM USER_INDEXES WHERE INDEX_NAME LIKE DR% ;

  NAME TABLESPACE_NAME—————————— ——————————DR$IND_T_DOCS$I USERSDR$IND_T_DOCS$K TOOLSDR$IND_T_DOCS$N USERSDR$IND_T_DOCS$P TOOLSDR$IND_T_DOCS$R EXAMPLEDR$IND_T_DOCS$X INDX

  已选择 行

cha138/Article/program/Oracle/201311/18200

相关参考

知识大全 存储参数storage子句含义及设置技巧

  系统环境  操作系统Windows  数据库 OracleiR()forNT企业版  安装路径C:\\ORACLE    解释        可用于表空间回滚段表索引分区快照快照日志    参数名

知识大全 关于Sphinx创建全文检索的索引介绍

关于Sphinx创建全文检索的索引介绍  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  全文检索的

知识大全 一个完整的SQL SERVER数据库全文索引的示例介绍

一个完整的SQLSERVER数据库全文索引的示例介绍  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 Oracle索引(index)简单介绍

Oracle索引(index)简单介绍  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  索引分类 

知识大全 oracle数据库如何重建索引

  当索引的碎片过多时会影响执行查询的速度从而影响到我们的工作效率这时候采取的最有利的措施莫过于重建索引了本文主要介绍了Oracle数据库中检查索引碎片并重建索引的过程接下来我们就开始介绍这一过程  

知识大全 Microsoft SQL Server 全文索引服务 - 编程提高篇

MicrosoftSQLServer全文索引服务-编程提高篇  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 Oracle9i中监视索引的使用

Oracle9i中监视索引的使用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  介绍      

知识大全 Oracle索引原理

Oracle索引原理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Oracle提供了大量索引选

知识大全 Oracle 的位图索引

Oracle的位图索引  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Oracle的索引主要包含

知识大全 ORACLE索引提高效率

ORACLE索引提高效率  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  用索引提高效率  索引是