这两天碰到一个问题,在一个分区表建立了索引,用sql分别在测试机数据库和生产机数据库执行,发现在测试机上面可以走索引,但是在生产机上面不走索引,咨询了一下以前的dba同事,给出了下面一些建议:
1.执行这条sql
select /*+ index(TRACE_BASE_INFO TRACE_BASE_INFO_CDX_2)*/ T.SERVER_NAME , SERVER_TIME , REFER_TYPE
from TRACE_BASE_INFO T
where SERVER_NAME = 'test.39.net'
and SERVER_TIME > '2011-03-10'
and REFER_TYPE > 0
需要注意
如果表有别名,提示也得用别名
2.测试机上的的数据量,跟生产机的数量有差别么?另外结果的数据占全表的数据百分几呢?对ORACLE来说,如果结果集占了大部分表的数据,它评估后会认为全表扫描的成本比走索引要低,所以它不走索引。
的确 我的测试机数据是1百多万,生产机数据才有7万多,很有可能问题就出现在这里。但是
还有一点我想不明白的就是我查询出来的结果是500条这个也不会占大部分表数据,不知道oracle为什么还是不走索引,很奇怪。得再多观察几次。
3.如果表是按时间分区的,那么你的索引就不需要SERVER_TIME列了,建这么多列的组合索引,需要考滤是否有必要?
这里可能我得再重新优化下索引
分享到:
相关推荐
### 小结 通过以上示例,我们学习了Oracle数据库中索引的基本使用方法以及一些高级特性,如分区表索引、唯一索引、函数索引等。此外,还了解了如何通过实际的数据操作来测试索引的性能效果。这些知识点对于深入理解...
昨天在QQ群里讨论一个SQL优化的问题,语句大致如下: select A,min(B) from table group by A;--A,B都没有not null约束,A列无空值,B列有空值。...Btree索引是不存储空值的,这个是所有使用Btree索引的数据库的共同
### Oracle性能优化建议小结 在Oracle数据库管理与性能调优的过程中,理解并掌握一系列的优化技巧至关重要。本文将从给定的文件标题、描述、标签以及部分内容中提炼出的关键点进行深入解析,旨在帮助数据库管理员及...
然后,通过Oracle的动态性能视图(如V$SESSION和V$SQL)来追踪这些会话并分析其执行的SQL,找出性能低效的查询进行重构或添加合适的索引。 此外,数据库的物理设计,如表空间的划分和分区,也对性能有很大影响。...
2. **正确使用索引**:创建了索引并不意味着SQL查询就能自动利用它们。确保在WHERE子句中正确地引用索引字段,避免函数或表达式操作索引字段,因为这可能使索引失效,导致全表扫描。 3. **避免INSERT语句**:INSERT...
### ORACLE数据库知识点小结 #### 1. ORACLE DATABASE 10g的新特性 - **网格计算数据库**:Oracle 10g引入了网格计算的概念,允许在多个服务器之间共享资源,提高数据库的可用性和性能。 - **优化资源用量**:通过...
根据提供的文件信息,我们可以整理出一系列关于Oracle数据库学习的基础知识点,包括索引、存储过程、日期格式转换等内容。下面将对这些知识点进行详细的说明。 ### 1. 启动监听器 - **命令行操作**:通过命令行来...
首先,DUAL表在Oracle中是一个特殊的表,它只有一个ROWID列,通常用于测试SQL语句或者在没有实际目标表的情况下执行SELECT语句。DUAL属于SYS模式,并通过PUBLIC SYNONYM提供给所有用户使用。需要注意的是,尝试对...
Oracle是一种广泛使用的关系型数据库管理系统,它提供了丰富的SQL语法和管理工具来支持各种数据库操作。在Oracle中,SQL语句是进行数据操作的基础,包括创建、查询、更新和删除等。 1. 用户管理: - 创建用户:...
1.10 小结 24 第2章 SQL执行 25 2.1 Oracle架构基础 25 2.2 SGA-共享池 27 2.3 库高速缓存 28 2.4 完全相同的语句 29 2.5 SGA-缓冲区缓存 32 2.6 查询转换 35 2.7 视图合并 36 2.8 子查询解嵌套 39 2.9 谓语前推 42...
oracle基础教程 课程说明 1 课程介绍 1 课程目标 1 相关资料 1 第1章 ORACLE数据库概述 2 1.1 产品概述 2 ...小结 61 附录A ORACLE数据字典与视图 62 附录B 动态性能表 68 附录C SQL语言运算符与函数 70
12-13 重构索引 12-14 联机重构索引 12-16 合并索引 12-17 检查索引的有效性 12-18 删除索引 12-19 确认不使用的索引 12-20 获取索引信息 12-21 小结 12-21 13 维护数据的完整性 目标 13-2 数据的完整性 13-3 约束...
小结 1-24 2 安装 Oracle 数据库软件 课程目标 2-2 Oracle 数据库管理员的任务 2-3 用于管理 Oracle 数据库的工具 2-4 安装:系统要求 2-6 检查系统要求 2-7 灵活体系结构 (OFA) 2-8 使用灵活体系结构 2-9...
1.10 小结 24 第2章 SQL执行 25 2.1 Oracle架构基础 25 2.2 SGA-共享池 27 2.3 库高速缓存 28 2.4 完全相同的语句 29 2.5 SGA-缓冲区缓存 32 2.6 查询转换 35 2.7 视图合并 36 2.8 子查询解嵌套 39 2.9 ...
### 小结 《Beginning Oracle Database 12c Administration, 2nd Edition》是一本面向初学者的Oracle数据库管理书籍,系统地讲解了Oracle 12c版本的各个方面。从基础概念到实际操作,从数据库的创建到维护与调优,...
Oracle SQL解析步骤是数据库处理SQL查询的关键环节,它确保了SQL语句的正确性、安全性以及高效执行。以下是对这些步骤的详细说明: 1. **SQL语法检查**:这是解析的第一步,Oracle数据库会检查输入的SQL语句是否...
### 小结 通过以上内容的介绍,我们可以看到Oracle数据库机制涉及到了多个方面,包括重做日志的管理和利用、归档模式的选择、实例恢复机制以及权限与角色的管理等。这些机制共同作用,确保了Oracle数据库的高度可靠...
§7.2 关于创建多个Oracle实例问题 93 §7.3 Oracle系统安装后的优化基础工作 94 §7.3.1 Oracle系统有关目录所有文件的保护 94 §7.3.2 避免新用户使用默认system系统表空间 94 §7.4 Oracle系统所在服务器的独立性...