`
gaojingsong
  • 浏览: 1202249 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【Oracle数据库索引】

阅读更多

在Oracle中,索引基本分为以下几种:B*Tree索引,反向索引,降序索引,位图索引,函数索引,interMedia全文索引等。
各种索引的创建方法
(1)*Tree索引。
Create index indexname on tablename(columnname[columnname...])
(2)反向索引。
 Create index indexname on tablename(columnname[columnname...]) reverse
(3)降序索引。
Create index indexname on tablename(columnname DESC[columnname...])
(4)位图索引。
Create BITMAP index indexname on tablename(columnname[columnname...
(5)函数索引。
Create index indexname on tablename(functionname(columnname))
注意:创建索引后要分析索引才能起作用。
 analyze index indexname compute statistics;
重建索引:alter index index_name rebuild [tablespace tbs_name];

CREATE INDEX QGTG.tesat ON QGTG.BJ_CB_T_CBHCZB(ZWCBM) LOGGING  NOPARALLEL;

 

create index 索引名字 on  表名字(字段) online

 

索引特点
1)索引的高度低
2)索引存储列值即索引存储了索引列值以及rowID
3)索引本身是有序的

全表扫描的优势一次可以读取多个块,这样IO次数可以大大降下来

 

聚合因子(clustering_factor)决定了回表查询的速度

聚合因子:有多少邻近的索引条目指向不同的数据块,一般指的块越少,聚合因子低,扫描块也少

select index_name,blevel,leaf_blocks,num_rows,distinct_keys,clustering_factor from user_ind_statistics
where table_name like 'T%' order by num_rows
降低聚合因子:重组表记录

利用索引的本身有序性,降低排序

 

索引执行计划
1)INDEX FULL SCAN
2)INDEX RANGE SCAN
3)INDEX FAST FULL SCAN 例如(count)查询,FAST比INDEX FULL SCAN更快的原因是一次读取多个索引块。
4) INDEX FULL SCAN(MIN/MAX)
技术不淘汰就有它的天空,一次读取多个块不容易保证排序,一次读取一个快可以保证有序,因此在有排序的场合,INDEX FULL SCAN的顺序读可以让排序消除,INDEX FAST FULL SCAN 虽然减少了逻辑读,但是排序这个动作却无法消除。所以count(*)和SUM之类的统计根本无需使用排序,一般都走INDEX FAST FULL SCAN,而涉及排序语句的时候,也许使用INDEX FAST FULL SCAN ,也许使用INDEX FULL SCAN,这是由ORACLE的优化器计算出来的。

5)UNION的合并优化。索引不能消除UNION的排序,因此建议使用UNION ALL
两者都是合并,但是UNION合并后没有重复的记录,而UNION ALL仅仅是合并而已,无法避免重复,因此不需要排序,但是UNION需要去除重复记录,需要排序

0
2
分享到:
评论

相关推荐

    Oracle数据库索引的维护

    ### Oracle数据库索引的维护 在Oracle数据库管理与优化的过程中,索引的维护是非常关键的一环。合理地创建、管理和优化索引能够显著提高查询性能,降低系统的响应时间,从而提升整个应用程序的效率。本文将从Oracle...

    Oracle数据库索引优化方法探析.pdf

    Oracle 数据库索引优化方法探析 Oracle 数据库索引优化方法探析是指通过对 Oracle 数据库索引的分析和优化,以提高数据库的查询效率和性能。 Oracle 数据库索引是一种数据结构,用于快速访问数据库表的特定信息。...

    ORACLE数据库索引工作原理

    通过两个图形说明了在oracle数据库中b-tree索引和位图索引的工作原理

    基于Oracle数据库索引的查询优化研究.pdf

    【Oracle数据库索引的查询优化研究】 在Oracle数据库系统中,查询优化是提升数据库性能的关键环节,其中,索引的合理构建与应用扮演着至关重要的角色。本文将深入探讨索引的概念、分类以及如何利用索引来优化查询...

    影响Oracle数据库索引的几个因素浅析.pdf

    "影响Oracle数据库索引的几个因素浅析" 本文将探讨影响Oracle数据库索引的几个因素,并对索引的概念和作用进行剖析。索引是Oracle数据库中一个重要的对象,它可以提高查询表中的记录速度,类似于读者可以快速从图书...

    ORACLE数据库索引的设计与维护研究.pdf

    【Oracle数据库索引的设计与维护研究】 Oracle数据库作为一款广泛使用的商业关系型数据库管理系统,其性能优化的关键之一在于正确设计和维护索引。索引是一种特殊的数据结构,它加速了数据库查询过程,使得数据检索...

    关于ORACLE数据库索引[文].pdf

    Oracle数据库索引是提高查询效率的关键工具,虽然不是运行数据库所必需,但它们极大地优化了数据检索速度。索引按照一定的排序方式存储数据,使得在执行查询时,Oracle可以直接通过索引快速定位到所需的数据,避免了...

    Oracle数据库索引讲义.pptx

    Oracle数据库索引讲义.pptx

    数据库 创建索引 sql oracle

    数据库索引是数据库性能优化的重要手段之一。创建索引可以提高查询速度,降低数据库的负载,提高数据的安全性。本文将详细介绍数据库创建索引的原则、分类、创建方法、管理和优化等方面的知识点。 索引的概念和优点...

    Oracle数据库中索引的维护

    Oracle数据库中的索引维护是数据库管理员日常工作中至关重要的一部分,尤其是在大型企业级应用中,高效的索引管理能够显著提升查询性能和数据库的整体效率。本文主要关注Oracle8i版本中的B-tree索引维护。 首先,...

    数据库索引设计原则.

    数据库索引设计原则是 Oracle 数据库管理系统中的一项重要技术,旨在提高数据库的查询效率和性能。以下是数据库索引设计原则的详细解释。 一、基本原则 数据库索引设计原则的基本原则是确保数据库的查询效率和性能...

    oracle数据库题库.pdf

    Oracle数据库索引是指在表中的一个或多个列上建立的数据结构,以便加快数据的查询速度。Oracle数据库索引包括B-tree索引、位图索引、函数索引、Text索引等。 7. Oracle数据库存储过程和函数: Oracle数据库存储过程...

    书籍:Oracle与MySQL数据库索引设计与优化

    一、Oracle数据库索引设计 1. B树索引:Oracle默认使用B树(B-Tree)索引,适用于等值查询。理解B树的工作原理和如何选择合适的索引宽度对于提升查询性能至关重要。 2. bitmap索引:适用于多列等值连接查询和在低...

    Oracle数据库查询优化的方法

    本文重点分析Oracle数据库索引及临时表在查询中的应用,并探讨了基于索引使用SQL语句进行数据库效率优化的几种实现方法。 在Oracle数据库中,索引的合理运用能够显著提升查询速度,减少I/O操作,避免磁盘排序。通常...

    Oracle数据库基于索引SQL优化方法的研究与实现

    #### 二、Oracle数据库索引的特点与作用 1. **索引的概念**:索引是数据库表的一种数据结构,用于提高数据检索的速度。在Oracle数据库中,索引通常是以B树的形式存储的,这种结构可以高效地支持范围查询和唯一性...

    Oracle数据库体系结构( 中文详细版)

    1. **数据文件**(Data Files):数据文件是Oracle数据库存储实际数据的地方,包含了表、索引、视图等对象的数据。每个表空间由一个或多个数据文件组成,每个数据文件中包含一系列的数据块,这是Oracle数据存储的...

    Oracle数据库大作业

    【Oracle数据库大作业】是一个关于Oracle数据库在教务管理系统中的应用项目,可能涵盖了数据库设计、实施、优化等多个方面的内容。这个大作业包含了PPT演示文稿、Word文档以及可能的源代码,为学习者提供了全面了解...

    充分利用索引作用提高Oracle数据库的性能.pdf

    本文主要探讨Oracle数据库索引的作用、分类以及如何通过索引来优化数据库性能。 **1. 索引的作用** 索引如同书籍的目录,可以快速定位到数据的位置,避免全表扫描。在Oracle数据库中,索引包含了一个或多个列的值...

    ORACLE数据库设计与优化

    总结,Oracle数据库设计与优化是一个涉及多方面知识的复杂过程,包括但不限于物理结构设计、SQL优化、索引策略、存储过程使用、性能监控以及备份恢复策略。理解这些核心概念并灵活应用,将有助于构建高效、稳定且...

Global site tag (gtag.js) - Google Analytics