`

Oracle index

 
阅读更多

索引:

1、一般索引:

create index index_name on table(col_name);

2 Oracle 分区索引详解

语法: Table Index

CREATE [UNIQUE|BITMAP] INDEX [schema.]index_name

ON [schema.]table_name [tbl_alias]

(col [ASC | DESC]) index_clause index_attribs

 

index_clauses:

分以下两种情况

 

1. Local Index

就是索引信息的存放位置依赖于父表的 Partition信息,换句话说创建这样的索引必须保证父表是 Partition

1.1 索引信息存放在父表的分区所在的表空间。但是仅可以创建在父表为 HashTable或者 composite分区表的。

LOCAL STORE IN (tablespace)

1.2 仅可以创建在父表为 HashTable或者 composite分区表的。并且指定的分区数目要与父表的分区数目要一致

LOCAL STORE IN (tablespace) (PARTITION [partition [LOGGING|NOLOGGING] [TABLESPACE {tablespace|DEFAULT}] [PCTFREE int] [PCTUSED int] [INITRANS int] [MAXTRANS int] [STORAGE storage_clause] [STORE IN {tablespace_name|DEFAULT] [SUBPARTITION [subpartition [TABLESPACE tablespace]]]])

 

1.3 索引信息存放在父表的分区所在的表空间,这种语法最简单,也是最常用的分区索引创建方式。

Local

1.4 并且指定的 Partition 数目要与父表的 Partition要一致

LOCAL (PARTITION [partition

[LOGGING|NOLOGGING]

[TABLESPACE {tablespace|DEFAULT}]

[PCTFREE int]

[PCTUSED int]

[INITRANS int]

[MAXTRANS int]

[STORAGE storage_clause]

[STORE IN {tablespace_name|DEFAULT]

[SUBPARTITION [subpartition [TABLESPACE tablespace]]]])

 

Global Index

索引信息的存放位置与父表的 Partition信息完全不相干。甚至父表是不是分区表都无所谓的。语法如下:

GLOBAL PARTITION BY RANGE (col_list)

( PARTITION partition VALUES LESS THAN (value_list)

[LOGGING|NOLOGGING]

[TABLESPACE {tablespace|DEFAULT}]

[PCTFREE int]

[PCTUSED int]

[INITRANS int]

[MAXTRANS int]

[STORAGE storage_clause] )

但是在这种情况下,如果父表是分区表,要删除父表的一个分区都必须要更新 Global Index ,否则索引信息不正确

ALTER TABLE TableName DROP PARTITION PartitionName Update Global Indexes

 

 

--查询索引

select object_name,object_type,tablespace_name,sum(value)

from v$segment_statistics

where statistic_name IN ('physical reads','physical write','logical reads')and object_type='INDEX'

group by object_name,object_type,tablespace_name

order by 4 desc

 

 

oracle的索引分为5种:唯一索引,组合索引,反向键索引,位图索引,基于函数的索引

创建索引的标准语法:

CREATE INDEX 索引名 ON 表名 (列名)

     TABLESPACE 表空间名;

创建唯一索引:

CREATE unique INDEX 索引名 ON 表名 (列名)

     TABLESPACE 表空间名;

创建组合索引:

CREATE INDEX 索引名 ON 表名 (列名1,列名2)

     TABLESPACE 表空间名;

创建反向键索引:

CREATE INDEX 索引名 ON 表名 (列名) reverse

     TABLESPACE 表空间名;

 

分享到:
评论

相关推荐

    oracle index学习总结

    Oracle索引是数据库管理系统中用于加速数据检索的关键结构。...以上内容是根据“oracle index学习总结”文档的摘要,详细内容可参考提供的链接或文档:《oracle index学习总结.doc》和《oracle index学习总结.pdf》。

    Oracle Index Internals.pdf

    ### Oracle Index Internals #### 知识点概览 本文档深入探讨了Oracle数据库中的索引内部机制。主要内容包括各种类型的Oracle索引结构及其实施方式、索引的行为、维护策略以及成本基础优化器如何确定索引的使用...

    oracle index

    oracle index orcle 索引优化

    oracle集合index-by表

    根据提供的Oracle PL/SQL代码示例,我们可以详细探讨与“index-by表”相关的知识点,包括其定义、使用方法以及各种操作技巧。 ### Oracle Index-By 表简介 在Oracle PL/SQL中,`INDEX BY`表是一种特殊类型的关联...

    Oracle Index索引无效的原因与解决方法

    Oracle Index索引无效的原因可能涉及多种因素,这些因素可能导致索引无法被数据库有效利用,从而影响SQL查询的性能。在解决此类问题时,首先要确定索引是否被启用和使用。以下是一些常见的索引无效或未被利用的原因...

    Oracle Index 索引介绍

    **Oracle索引详解** Oracle索引是数据库管理系统中用于提高查询效率的重要数据结构。它的工作原理类似于书籍的目录,允许数据库系统快速定位到所需的数据行,而无需扫描整个表。索引的存在使得对大量数据的查找、...

    Oracle Index 的三个问题

    正在看的ORACLE教程是:Oracle Index 的三个问题。 索引( Index )是常见的数据库对象,它的设置好坏、使用是否得当,极大地影响数据库应用程序和Database 的性能。虽然有许多资料讲索引的用法, DBA 和 ...

    INSTR的用法 Oracle里的Indexof

    这个函数类似于其他编程语言中的`IndexOf`方法,如C#中的`IndexOf`和`LastIndexOf`方法。 #### 二、INSTR函数的基本语法 INSTR函数的基本语法如下: ```sql INSTR(源字符串, 搜索字符串[, 开始位置[, 出现次数]])...

    Oracle数据库精讲之数据库管理_ Oracle数据库管理视频

    第十三讲:oracle index管理 第十四讲:oracle Partitioned Tables and Indexes管理 第十五讲:oracle view管理 第十六讲:oracle sequences管理 第十七讲:oracle 触发器管理 第十八讲:oracle 用户管理 第十九讲:...

    Oracle_Index 索引

    Oracle_Index 索引

    Oracle-index-table.rar_Table

    本压缩包“Oracle-index-table.rar_Table”包含了一个名为“Oracle index table.pdf”的PDF文档,专门探讨了这两项技术。 首先,我们来详细了解分区表。分区是Oracle数据库提供的一种高级存储策略,它将大表分解为...

    Oracle数据库学习指南

    5. Oracle Index 的三个问题 6. Oracle PL-SQL语言基础 7. Oracle的分布式管理 8. ORACLE的数据类型 9. Oracle数据库碎片整理 10.ORACLE性能调整1 11.ORACLE性能调整2 12.Oracle专家调优秘密 13.PL...

    Oracle-使用-技巧.doc

    Oracle Index Tuning Wizard(索引调优向导)就是这样一个工具,它能帮助用户分析当前数据库的索引使用情况,并提供优化建议。 在使用Index Tuning Wizard时,首先需要运行分析,这通常涉及执行SQL工作负载。这个...

    从oracle用户取全部索引的方法 index sql

    oracle 用户 全部 索引 all index sql

    Oracle_Index 索引3

    本文将基于标题“Oracle_Index 索引3”及描述“Oracle_Index 索引”,深入探讨Oracle索引的基础知识、B树索引的构造原理及其对数据库性能的影响,旨在帮助读者更全面地理解Oracle索引的运作机制。 #### Oracle索引...

    Oracl技术资料(EBook)

    5. Oracle Index 的三个问题 6. Oracle PL-SQL语言基础 7. Oracle的分布式管理 8. ORACLE的数据类型 9. Oracle数据库碎片整理 10.ORACLE性能调整1 11.ORACLE性能调整2 12.Oracle专家调优秘密 13.PL_SQL单行...

    index索引的8种使用模式

    当查询需要获取基于唯一键的单行数据时,Oracle会使用INDEX UNIQUE SCAN。这种模式确保了结果集中的每行数据都是唯一的,通常用于主键或唯一索引上。例如,当执行以下查询时: ```sql SELECT * FROM t1 WHERE ...

    ORACLE重建索引总结

    Oracle数据库中的索引是提升查询性能的关键工具,但随着时间推移和数据操作,索引可能会变得效率低下,需要重建以优化其性能。本文主要总结了重建Oracle索引的相关知识点。 一、重建索引的前提条件 当表上的数据...

Global site tag (gtag.js) - Google Analytics