`
fourfire
  • 浏览: 413981 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

oracle索引与like条件的关系

    博客分类:
  • db
阅读更多
表:gzl_action_define
字段:id:主键,有索引
     name:一般字段,无索引
以下是各种写法的结果
1
select t.name
  from gzl_action_define t
where  t.id ='12'
使用索引(UNIQUE SCAN)
2
select t.name
  from gzl_action_define t
where  t.id like '12%'
使用索引(RANGE SCAN)
3
select t.name
  from gzl_action_define t
where  t.id like '%12'
不使用索引(TABLE ACCESS (FULL))
4
select t.id
  from gzl_action_define t
where  t.id like '%12'
使用索引(FAST FULL SCAN)
5
select t.name
  from gzl_action_define t
where  t.id like '%12%'
不使用索引(TABLE ACCESS (FULL))
6
select t.id
  from gzl_action_define t
where  t.id like '%12%'
使用索引(FAST FULL SCAN)
3、5的原因不是很清楚,估计是%在前带来的问题
分享到:
评论
2 楼 fourfire 2008-07-28  
不是写了吗
http://fourfire.iteye.com/blog/219496
1 楼 weibaojun 2008-07-26  
怎么知道它执行的时候有没有使用索引阿

相关推荐

    ORACLE索引详解及SQL优化

    本文将深入探讨Oracle索引的原理、创建方法,并结合SQL优化策略,帮助你提升数据库查询速度,降低资源消耗。 首先,我们要理解索引的基本概念。在数据库中,索引类似于书籍的目录,它为数据提供快速访问的途径。...

    oracle索引失效的总结

    ### Oracle索引失效的原因及解决方法 在Oracle数据库中,索引是提高查询效率的关键工具之一。然而,在实际的应用过程中,由于多种原因可能会导致索引失效,从而影响系统的性能。本文将详细介绍Oracle索引失效的一些...

    oracle索引的建立、修改、删除.doc

    Oracle 索引是关系数据库中用于存放每一条记录的一种对象,主要目的是加快数据的读取速度和完整性检查。在数据库设计阶段与数据库结构时就要考虑。应用系统的性能直接与索引的建立是否合理直接有关。 一、建立索引 ...

    oracle 索引类型

    Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的索引类型以优化查询性能。索引是数据库中的关键元素,它们能够加速对数据表中特定记录的查找。本篇将深入探讨Oracle中的主要索引类型,以及它们的...

    oracle like 的优化

    **问题分析**:当LIKE语句中的模式包含前导“%”,如`LIKE '%XYZ%'`时,Oracle数据库很难直接利用索引来加速查询过程。这是因为索引通常是按照升序或降序排列的,而前导“%”意味着任何以“XYZ”为子串的字符串都...

    Oracle Index 索引介绍

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

    《Oracle_全文索引_详细介绍》_40页.pdf

    相比之下,Oracle Text利用专门设计的索引来优化查询性能,支持更为复杂的查询需求,如模糊匹配、近似查找、条件加权等。 ##### 2. 多种文档管理 Oracle Text不仅可以处理数据库内的文本数据,还能够检索来自不同...

    oracle索引

    本文将深入探讨Oracle索引的原理、技术、缺陷以及SQL优化策略。 一、Oracle索引原理 1. B树索引:Oracle最常用的索引类型,基于B树(Binary Tree)数据结构。每个索引节点包含键值和对应的行指针,通过比较键值...

    oracle分区表分区索引.docx

    Oracle 分区表分区索引详解 Oracle 分区表分区索引是 Oracle 数据库中的一种重要机制,它可以提高数据的存储和查询效率。下面将详细介绍 Oracle 分区表分区索引的类型、分类、创建方法和维护方式。 一、分区表和...

    oracle数据库索引与sql的优化

    ### Oracle数据库索引与SQL优化 在Oracle数据库的日常管理和维护过程中,索引与SQL语句的优化是非常重要的环节。合理的索引设计和高效的SQL编写能够显著提高数据查询的速度、减少系统资源消耗,并最终提升整个...

    基于Oracle的文献资料库全文检索技术

    Oracle Text完全集成在Oracle数据库中,使得文本索引的创建与管理更加便捷高效,并且可以通过SQL查询实现无缝搜索。此外,Oracle Text还提供了许多额外服务,帮助用户根据特定搜索条件更快地访问数据库。 #### ...

    Oracle 11g新特性索引不可见

    "Oracle 11g 新特性索引不可见" Oracle 11g 中引入了一个新特性,称为索引不可见(Index Invisible),它允许 DBA 将索引设置为不可见状态,使得优化器在选择查询计划时忽视该索引,而不影响索引的正常更新。 索引...

    数据库面试题4 oracle笔试 oracle例题

    - 使用`LIKE`进行模糊匹配时,若通配符`%`出现在搜索词的开头,如`last_name LIKE '%cliton%'`,Oracle不会使用索引,导致全表扫描。但若`%`在字符串中间或末尾,如`last_name LIKE 'c%'`,优化器则可能利用索引。 ...

    oracle全文检索

    当Oracle Text索引创建完成后,系统会自动生成一系列与索引相关的后台表,如DR$myindex$I、DR$myindex$K、DR$myindex$R和DR$myindex$N,这些表对于索引的管理和优化至关重要。其中,DR$myindex$I表特别重要,它存储...

    为什么有时ORACLE数据库不用索引来查找数据.doc

    Oracle数据库在某些情况下选择不使用索引来查找数据,这一现象与数据库的优化器策略密切相关。Oracle数据库有两种主要的优化器:基于规则的优化器(RBO)和基于代价的优化器(CBO)。RBO遵循固定规则,而CBO自Oracle...

    Oracle如何实现like多个值的查询

    传统的`LIKE`操作对于大量数据和多条件的情况会显得效率低下。这里我们将详细探讨如何在Oracle中实现`LIKE`多个值的查询,并优化查询性能。 首先,传统的`LIKE`查询方式是直接在`WHERE`子句中使用`LIKE`,例如: `...

    合理创建和使用索引 提高Oracle查询效率.pdf

    B+树索引可以适应多种查询条件,包括使用等号运算符的精确匹配和使用“LIKE”等运算符的模糊匹配。 函数索引是一种特殊的索引类型,它可以对包含字段的函数或表达式创建索引。函数索引可以是B+树索引,也可以是位图...

    在OracleE数据库的字段上建立索引的方法

    总的来说,对于在`WHERE`子句中使用函数的情况,我们可以通过对查询语句的适当修改,创建出能够与索引配合的条件,从而在不牺牲查询性能的前提下,实现对数据库字段的高效检索。这种技术在处理含有大量数据的表时...

    oracle 索引不能使用深入解析

    如果索引列不在WHERE条件中,或者使用了非等值比较(如LIKE、BETWEEN、IN等),索引可能无法使用。此外,如果在连接操作中,索引列不是内表的连接列,也可能导致无法使用索引。 第三,关注查询的连接类型。Oracle...

    数据库面试题5 oracle笔试 oracle例题

    在数据库领域,Oracle是一个广泛使用的高性能关系型数据库管理系统。在面试或笔试中,Oracle SQL语句的性能调整是一项重要的考察点。优化SQL语句对于提升系统的整体性能至关重要,尤其是在处理大规模数据时。以下是...

Global site tag (gtag.js) - Google Analytics