`
yangyangmyself
  • 浏览: 232957 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

ORACLE 组合索引优化

阅读更多

一、sql_trace(SQL跟踪)

 

   查看文件位置:show parameter user_dump_dest

 

  设置:alter session set sql_trace=true;

 

  查询结果:tkprof E:\ORACLE\PRODUCT\10.2.0\ADMIN\JJONE\UDUMP\jjone_ora_3600.trc sql1.txt


二、SQL Explain(SQL执行计划)

 

  1)@?\rdbms\admin\utlxplan

 

  2)set autotrace on/ set timing on/ set autotrace traceonly/set autotrace on explain

 

  3) explain plan set statement_id='test1'

 

  4) select plan_table_output from table(dbms_xplan.display('plan_table','test1','serial'));


三、实验

 

  创建表空间:

 

  create tablespace d1 datafile 'D:\oracle\oradata\orcl\d1.dbf' size 50M


  create tablespace d2 datafile 'D:\oracle\oradata\orcl\d2.dbf' size 50M

 

  创建表:


   create table test(gcxh varchar2(16), hphm varhcar2(12), kkbh varchar2(12), gcsj date)

 

      partition by range(gcsj)(

 

          partition 20150901 values less than(to_date('2015-09-01 00:00:00','yyyy-mm-dd hh24:mi:ss')) tablespace d1,
       
        partition 20151001 values less than(to_date('2015-10-01 00:00:00','yyyy-mm-dd hh24:mi:ss')) tablespace d1,


      );


四、组合索引优化

 

    创建组合索引顺序问题,索引前导列选择:

 

      1) 少量等值列放前面
  
       索引用用局部索引

 

      create index indexName on(hphm) local;

 

      删除索引

 

      drop index indexName;

 

 

    

    

0
1
分享到:
评论

相关推荐

    Oracle索引优化相关

    ### Oracle索引优化相关知识点详解 #### 一、基本索引概念 在Oracle数据库中,索引是提高数据检索速度的重要工具。通过查询`DBA_INDEXES`视图,可以获取到当前数据库中所有表的所有索引信息。需要注意的是,如果...

    Oracle索引优化

    Oracle索引优化是数据库性能调优的关键环节,它关乎到数据检索速度和整体系统的效率。在Oracle数据库中,索引的种类繁多,包括B*Tree索引、反向索引、降序索引、位图索引和函数索引等。理解并正确使用这些索引类型...

    Oracle 创建索引的基本规则

    - **组合索引**: 如果WHERE子句中有多个条件,可以通过创建组合索引来提高查询效率。 - **查询条件的顺序**: WHERE子句中条件的顺序会影响索引的选择和使用,通常情况下,选择性更高的列应放在前面。 - **多表连接**...

    Oracle优化全攻略一【Oracle 索引概念】.docx

    在Oracle9i之前,除非查询中包含索引的第一列,否则无法使用组合索引。但在Oracle9i之后,引入了跳跃式扫描,使得即使不包含第一列,也能部分利用组合索引。 通过ROWID,Oracle能直接定位到表中的每一行。ROWID是一...

    09 oracle的索引 PPT

    - Bitmap索引:适用于多列组合索引和在低基数(非唯一或重复值多)的列上,适合联接操作和分析查询。 - Function-Based索引:基于函数的结果创建索引,索引列是函数的输出。 - Reverse索引:反向键索引,用于存储...

    ORACLE19c数据库性能优化说明.docx

    在多个平等索引的情况下,Oracle会选择最优索引组合,但唯一性索引通常优先于非唯一性索引。等式比较通常优于范围比较,因为等式比较能直接通过索引定位到特定行。如果索引的优先级不明确,优化器通常只会选择WHERE...

    oracle约束和索引笔记

    Oracle约束和索引是数据库设计和优化的核心概念。通过正确地应用约束,可以确保数据的准确性和一致性;而合理地创建和管理索引,则能够显著提升查询速度,提高整体系统性能。作为数据库管理员或开发者,理解和熟练...

    SQL语句索引优化_sql索引降龙十八掌(Oracle)

    本文将深入探讨Oracle数据库中的索引优化原则和方法,这些原则和方法同样适用于其他数据库系统。让我们一起领略"SQL索引降龙十八掌"的精髓。 一、了解索引 1. 索引类型: - B树索引:最常见的索引类型,适用于等值...

    ORacle、索引、数据优化学习文档

    在数据优化方面,合理使用索引可以极大地提高查询效率,但也需要根据具体场景选择合适的索引类型,如单列索引、组合索引和位图索引。组合索引允许在多列上创建索引,以匹配多条件查询,而位图索引则适合于数据重复...

    oracle的索引学习

    位图索引则适用于低基数(即不同值较少)的列,或者在进行多列组合查询时,可以将多个位图索引合并,以提高查询效率。反向键索引适用于排序顺序与键值顺序相反的情况,如主键自增的情况。 当涉及数据操作,如删除、...

    oracle不走索引可能原因.docx

    1. **INDEX SKIP SCAN**: 当创建了一个组合索引,但是查询只使用了索引的非第一列时,Oracle可能会选择不使用索引,因为它无法直接通过索引来定位数据。INDEX SKIP SCAN是一种优化策略,允许数据库跳过索引的第一个...

    ORACLE存储过程性能优化技巧

    - **Group By字段的组合索引**:对于经常使用GROUP BY的SQL语句,建议在GROUP BY字段上创建组合索引,以提高查询效率。 #### 六、避免使用的索引情况 - **NOT IN** - **NOT BETWEEN** - **LIKE ‘%ABC%’** - ****...

    ORACLE索引介绍与高性能SQL优化

    在实际应用中,可以对经常一起使用多个字段进行检索的记录创建组合索引,组合索引的顺序也很重要。例如,将常用的列放在组合索引的最前面,可以提高查询时的索引有效性。同样,合并或拆分不必要的索引也是维护索引...

    ORACLE查询优化

    正确选择索引类型(如B树、位图、函数索引等),并合理创建组合索引,可以显著减少数据扫描的时间。 2. **执行计划分析**:通过EXPLAIN PLAN或DBMS_XPLAN工具,查看查询的执行路径,理解执行计划的逻辑,找出可能的...

    为什么oracle有时不用索引来查找数据

    2. **索引列的使用**:索引列或组合索引的首列必须出现在SQL语句的WHERE子句中,这是执行计划能够使用相关索引的必要条件之一。 3. **连接类型**:Oracle支持三种连接方式:排序合并连接(Sort Merge Join, SMJ)、...

    oracle hint 语句优化

    如果INDEX_COMBINE中没有提供作为参数的索引,优化器会自动选择位图索引的布尔组合。 **示例**: ```sql SELECT /*+ INDEX_COMBINE(BSEMPMS SAL_BMI HIREDATE_BMI) */ * FROM BSEMPMS WHERE SAL ; ``` ##### 11. /*...

    Oracle数据库经典优化之索引原理篇

    综上所述,Oracle数据库的索引优化涉及多个方面,包括正确选择和使用各种索引类型,理解索引的工作原理,以及编写能够有效利用索引的SQL查询。理解这些原理并应用到实际工作中,可以帮助我们优化数据库性能,避免...

Global site tag (gtag.js) - Google Analytics