索引:
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
分享到:
相关推荐
Oracle索引是数据库管理系统中用于加速数据检索的关键结构。...以上内容是根据“oracle index学习总结”文档的摘要,详细内容可参考提供的链接或文档:《oracle index学习总结.doc》和《oracle index学习总结.pdf》。
### Oracle Index Internals #### 知识点概览 本文档深入探讨了Oracle数据库中的索引内部机制。主要内容包括各种类型的Oracle索引结构及其实施方式、索引的行为、维护策略以及成本基础优化器如何确定索引的使用...
oracle index orcle 索引优化
根据提供的Oracle PL/SQL代码示例,我们可以详细探讨与“index-by表”相关的知识点,包括其定义、使用方法以及各种操作技巧。 ### Oracle Index-By 表简介 在Oracle PL/SQL中,`INDEX BY`表是一种特殊类型的关联...
Oracle Index索引无效的原因可能涉及多种因素,这些因素可能导致索引无法被数据库有效利用,从而影响SQL查询的性能。在解决此类问题时,首先要确定索引是否被启用和使用。以下是一些常见的索引无效或未被利用的原因...
**Oracle索引详解** Oracle索引是数据库管理系统中用于提高查询效率的重要数据结构。它的工作原理类似于书籍的目录,允许数据库系统快速定位到所需的数据行,而无需扫描整个表。索引的存在使得对大量数据的查找、...
正在看的ORACLE教程是:Oracle Index 的三个问题。 索引( Index )是常见的数据库对象,它的设置好坏、使用是否得当,极大地影响数据库应用程序和Database 的性能。虽然有许多资料讲索引的用法, DBA 和 ...
这个函数类似于其他编程语言中的`IndexOf`方法,如C#中的`IndexOf`和`LastIndexOf`方法。 #### 二、INSTR函数的基本语法 INSTR函数的基本语法如下: ```sql INSTR(源字符串, 搜索字符串[, 开始位置[, 出现次数]])...
第十三讲:oracle index管理 第十四讲:oracle Partitioned Tables and Indexes管理 第十五讲:oracle view管理 第十六讲:oracle sequences管理 第十七讲:oracle 触发器管理 第十八讲:oracle 用户管理 第十九讲:...
Oracle_Index 索引
本压缩包“Oracle-index-table.rar_Table”包含了一个名为“Oracle index table.pdf”的PDF文档,专门探讨了这两项技术。 首先,我们来详细了解分区表。分区是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 Index Tuning Wizard(索引调优向导)就是这样一个工具,它能帮助用户分析当前数据库的索引使用情况,并提供优化建议。 在使用Index Tuning Wizard时,首先需要运行分析,这通常涉及执行SQL工作负载。这个...
oracle 用户 全部 索引 all index sql
本文将基于标题“Oracle_Index 索引3”及描述“Oracle_Index 索引”,深入探讨Oracle索引的基础知识、B树索引的构造原理及其对数据库性能的影响,旨在帮助读者更全面地理解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_SQL单行...
当查询需要获取基于唯一键的单行数据时,Oracle会使用INDEX UNIQUE SCAN。这种模式确保了结果集中的每行数据都是唯一的,通常用于主键或唯一索引上。例如,当执行以下查询时: ```sql SELECT * FROM t1 WHERE ...
Oracle数据库中的索引是提升查询性能的关键工具,但随着时间推移和数据操作,索引可能会变得效率低下,需要重建以优化其性能。本文主要总结了重建Oracle索引的相关知识点。 一、重建索引的前提条件 当表上的数据...