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

使用函数索引忧化查询

阅读更多

做报表是遇到的一个问题:


表A(id, part_number ) 10万条左右数据,
表B(part_number) 3万条左右,


查询的sql 语句如下: 
  select a.id, b.part_number 
  from a, b 
  where b.part_number = rtrim(a.part_number)


结果等了20多分钟还在跑, 查看执行计划 A表 full access ,
于是上网搜索一翻 ,part_number上建立函数索引。


create index a_index_1 on  A (rtrim(part_number))  tablespace index_space ;
analyze index  a_index_1   compute statistics  ;
anylasys table a  compute statistics ;


在查看 该 sql 的 执行计划, full access 变成 index scan ;
结果顺利在 2s 内跑出。 [img]/images/smiles/icon_biggrin.gif" alt="[/img] (花了2个钟才搞定) 





 

分享到:
评论

相关推荐

    函数索引使用

    未使用函数索引时,执行计划选择了全表扫描(FULL TABLE SCAN)的方式,而使用函数索引后,优化器选择了索引范围扫描(INDEX RANGE SCAN)。 ```sql SQL> SELECT count(*) FROM sale_contacts WHERE UPPER(surname) ...

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

    索引优化方法有多种,包括重新设计索引、避免系统排序和使用函数索引等。重新设计索引可以避免全表扫描操作,降低资源消耗,缩短执行时间。避免系统排序可以减少排序操作的时间和空间消耗。使用函数索引可以提高查询...

    Oracle索引优化

    函数索引允许对列应用函数后再创建索引,使得查询可以使用函数结果进行查找。 了解索引的基本概念后,我们关注组合索引。组合索引是由多个列组成的索引,它可以提供更灵活的查询优化。在Oracle9i之前,只有当查询...

    MySQL 函数索引的优化方案

    MySQL5.7版本中不支持函数索引,因此 遇到函数索引的时候需要进行修改,否则即使查询的字段上有索引,执行时也无法使用索引而进行全表扫描,数据量大的表查询时间会比较长。具体案例如下: 1.1 创建测试表及数据 ...

    MySQL索引原理及慢查询优化1

    MySQL索引原理及慢查询优化是数据库管理中的重要主题,尤其是在高并发、大数据量的互联网环境中,优化查询性能对于系统的整体效能至关重要。MySQL作为广泛使用的开源关系型数据库,其索引机制和查询优化技巧是开发者...

    Oracle索引优化相关

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

    数据库索引设计和优化

    三、索引优化 1. 选择性:索引的选择性越高,表示索引区分度越大,查询性能通常越好。选择性低的列不适合建立索引。 2. 索引维护:索引需要随着数据的增删改进行维护,因此要考虑操作频率和复杂度。 3. 分区索引:...

    SQLServer性能优化–间接实现函数索引或者Hash索引

    在SQL Server中,虽然没有直接提供函数索引或哈希索引的功能,但可以通过一些技巧间接实现类似的效果,以优化查询性能。以下两种方法分别针对不同的场景提供了解决方案。 1. **计算列上建立索引,实现“函数索引”...

    索引优化优化优化优化索引优化优化优化优化

    综上所述,通过对ABAP环境下索引优化的深入探讨,我们可以看到合理使用工具(如SE30、DB02、ST05等)以及精心设计索引是非常重要的。这不仅能够有效提高系统的查询性能,还能为用户提供更好的使用体验。

    第10章_索引优化与查询优化.pdf

    在本章中,我们主要探讨的是MySQL数据库中的索引优化与查询优化,这是数据库性能提升的关键环节。首先,为了模拟真实的数据环境,讲师通过一系列步骤创建了两个表——`class`(班级表)和`student`(学生表),并...

    SQLServer 索引查询优化指南

    通过理解这些概念和技巧,开发者能够更好地理解SQLServer索引的工作原理,从而更有效地优化查询,提升数据库系统的整体性能。这个PPT资料将详细讲解这些内容,对于SQLServer的开发和管理员来说,是一份宝贵的资源。

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

    2. 使用索引合并:当有多个可用索引时,Oracle可以智能地合并它们来优化查询。 总结,Oracle索引优化是一个涉及多方面因素的过程,包括索引类型选择、设计策略、维护以及特定于Oracle的技术。理解并熟练运用这些...

    SQL性能优化以及索引的优化

    5. **避免在索引列上使用函数**:数据库无法使用已有的索引来优化查询,应尽可能在索引列上使用原始值。 接下来,我们转向索引优化。索引是数据库快速定位数据的关键工具,其重要性不言而喻。 1. **选择合适的数据...

    MySQL索引面试题+索引优化+索引失效

    在进行索引优化时,有几个关键点需要注意。首先是选择合适的索引列,通常选择经常用于查询的列作为索引列,尽量避免使用长文本或二进制类型的列作为索引列。其次是合理设置索引的顺序,根据查询的频率和字段选择合适...

    Oracle索引分析与查询优化.pdf

    查询优化可以通过调整查询语句、使用索引、优化数据库设计等方式来实现。本文中,我们将对 Oracle 索引分析与查询优化进行详细的介绍和分析。 Oracle 索引的原理机制 Oracle 索引是一种特殊的数据结构,用于快速...

    从执行计划和索引结构优化查询语句

    4. **使用函数索引**:对于频繁用到的DECODE函数,可以创建函数索引,使得数据库可以直接利用索引来执行这部分逻辑,减少计算开销。 5. **分区表**:如果数据量非常大,考虑对`ODS.CR_PARTY_ATTRIBUTE`进行分区,...

    oracle优化篇及常用函数

    索引优化是提高查询速度的关键。Oracle支持B树索引、位图索引、函数索引等多种类型。选择合适的索引类型,结合索引覆盖(covering index)和复合索引(composite index)策略,能有效提升查询效率。同时,定期进行...

    ORACLE索引详解及SQL优化

    2. **使用EXPLAIN PLAN**:分析查询计划,了解数据库如何执行SQL,从而优化查询语句。 3. **减少子查询**:合并子查询为单个查询,或者使用连接(JOIN)来减少查询复杂度。 4. **选择合适的数据类型**:使用最小的...

    SQLServer性能优化--间接实现函数索引或者Hash索引

    在SQL Server中,性能优化...然而,需要注意的是,任何索引优化都应结合实际查询负载和数据分布进行,以确保优化措施确实带来了性能提升,而不是引入新的问题。在实施这些优化之前,进行充分的测试和性能分析是必要的。

Global site tag (gtag.js) - Google Analytics