1. 跳跃式索引(Skip Scan Index)
当表有一个复合索引,而在查询中有除了索引中第一列的其他列作为条件,并且优化器模式为CBO,这时候查询计划就有可能使用到SS。此外,还可以通过使用提示index_ss(CBO下)来强制使用SS。
select /*+index_ss(test1 test_idx1)*/* from test1 where column_b ='sdfee';
并不是任何情况下都会使用到SS。在Oracle的官方文档中,除了提到需要CBO,并且对表进行过分析外,还需要保证第一列的distinct value非常小。
2. 对于local索引,每一个表分区对应一个索引分区,当表的分区发生变化时,索引的维护由Oracle自动进行。
对于global索引,可以选择是否分区,而且索引的分区可以不与表分区相对应。
并不是只有分区表才能对应分区索引。如果一个非分区表有需要,是可以将其索引分区的。
分区索引是我们在设计分区表中不能回避的问题。针对不同的应用场景,选择合适的分区索引,才能做到真正的设计优化。
分治是一种古老的考虑方法,将复杂问题进行简化,大面积的削减备选集合,是很多现代算法和现代系统设计的核心要义。
4. 何时建分区,分区类别,索引?
a. 2G以上的表,ORACLE推荐创建分区。
b. 分区的方式根据实际情况而定,才能提高整体性能。
c. 分区的字段一定要是经常用以提取数据的字段,否则会在提取过程中导致遍历多个分区,这样比没有分区还要慢。
d. 分区字段要选择合适,数据较为均匀分布到各个分区,不要太多也不要太少,而且根据分区字段可以很快定位到分区范围。
注:一般情况下尽量让业务操作在同一个分区内部完成,跨分区访问性能会受到影响。
5. 分区类主要有:RANGE、LIST、HASH
a. RANGE通过值的范围分区,也是最常用的分区.
b. LIST是列举方式进行分区,一般作为二级分区而存在当然也可以自己分区,ORACLE 11G后在分区上也可以作为主分区而存在,在RANGE基础上,若数据需要继续分区,并且在RANGE基础上数据量较为固定,只是较大,可以按照一定规则进一步分区。 }
c. HASH只指定分区个数,分区细节由ORACLE完成,增加HASH分区可以重新分布数据。
注意:分区字段不能使用函数转换后再分区,如,将某数字字符串字段,先TO_NUMER(COL_NAME)后分区。
6. 索引;大致分:GLOBAL索引和LOCAL索引
GLOBAL不分区索引一般不太推荐,因为是用一颗大的索引树来映射一个表,这个过程,这样速度不见得比不分区快。
GLOBAL分区索引,查找数据若通过要通过索引,是先定位了索引内部的分区,然后在这个分区索引中找到ROWID,然后回表提取数据。
LOCAL索引是和分区的个数逐个对应的,可以说先定位分区表的分区也可以说先定位索引的分区,因为他们是一一对应的,找到对应分区后,分区内部索引数据集合。
7. 分区表、索引、分区索引,要利用其性能优势,最基本就是要提取数据时,要通过它首先将数据的范围缩小到一个即使做全盘扫描也不会太慢的情况。
8. SQL一定要有分区上的这个字段的一个WHERE条件,将数据迅速定位到分区内部,而且尽量定位到一个分区里面(这个和创建分区的规则有关系)。
9. 建立分区本身不提高性能,只有用好分区才能提高性能,在RAC集群中,若存在多分区提取数据,适当采用并行提取可以提高提取的速度.
分享到:
相关推荐
1. **Oracle 19C新特性** - **Autonomous Database**: Oracle 19C引入了自治数据库,这是一个完全自动化、云原生的数据库服务,可以自我管理、自我保护和自我优化。 - **In-Memory Column Store优化**: 提升了分析...
6. OracleHOME_NAMEDataGatherer:性能包数据采集服务,用于Oracle Capacity Planner和Oracle Performance Manager,收集性能数据。如果不使用这些性能监控工具,可以保持手动启动状态。 7. OracleHOME_...
### DAVE Oracle DG 学习笔记 #### DataGuard架构与背景 Oracle Data Guard(简称DG)是一种用于构建高可用性和灾难恢复解决方案的技术。它通过在主数据库(Primary Database)和辅助数据库(Standby Database)...
随着Oracle 11g的发布,性能调优的重点不再仅仅集中在提高缓存击中率上。Oracle Wait Interface(OWI)是基于等待事件的调优方法,它依赖于对一千多种等待事件的记录,帮助DBA快速识别和解决性能瓶颈。OWI方法论强调...
Oracle数据库提供了一系列动态性能视图(Dynamic Performance Views),也称为V$视图,它们提供了数据库运行时的统计信息,这些信息对于监控和诊断数据库问题至关重要。从提供的文件内容中,我们可以看到以下几个...
描述中提到的"SG"进一步解释为可能是原厂教材,也可能是Sybex出版的"OCP Oracle 9i Performance Tuning Study Guide"等四本书。这表明我们正在讨论的是关于Oracle数据库管理的高级主题,特别是性能调优。OCP(Oracle...
Oracle提供了一系列工具和视图,如V$视图、动态性能视图(Dynamic Performance Views)和企业管理器(Enterprise Manager),用于监控数据库性能,诊断和解决问题。 十、Oracle 12c及更高版本的新特性 Oracle 12c...
- DataGuard 支持三种不同的保护模式:Maximum Availability、Maximum Performance 和 Maximum Protection。 - 这些模式分别针对不同的业务需求,例如对高可用性的极端追求、性能优化或者数据完整性保护。 3. **...
价值一万八的中美 IT 培训笔记一万多培训费的资料,北京权威的.NET培训机构】 【认真学习后你一定能成为优秀的.net程序员】 学习对象:1.大专及大专以上理工科学历,或有相当学历的理工科教育背景 2.热爱...
5. **数据库资源管理**:Oracle的自动工作负载管理(Automatic Workload Repository, AWR)和动态性能视图(Dynamic Performance Views, V$视图)可以帮助监控数据库性能,并根据需要调整PGA和SGA内存、调度资源、...
Navigation Bar、Shopping Cart、Cross-Brower Support、Performance. 通过实际项目, 培养学生实战能力,包括系统分析、设计(包括功能需求分析、数据库设计、功能模块设计和详细设计)、开发、调试、测试和部署的能力...
Navigation Bar、Shopping Cart、Cross-Brower Support、Performance. 通过实际项目, 培养学生实战能力,包括系统分析、设计(包括功能需求分析、数据库设计、功能模块设计和详细设计)、开发、调试、测试和部署的能力...
在 MySQL 中,常见的关系型数据库包括 Oracle、SQL Server 和 DB2。 【数据库的创建与管理】 创建数据库可以使用 DDL(Data Definition Language)语句,例如 `CREATE DATABASE dbname;`。当数据库已存在时,尝试...
### DataGuard简明笔记 #### 一、基础知识 ##### (一) REDO 传输 **DataGuard**的核心机制之一就是**REDO**日志的传输与应用。在**Oracle DataGuard**环境中,**Primary**数据库负责生成并传输**REDO**日志至**...
1. **访问 Oracle 官方网站**:首先访问 Oracle 的 edelivery 网站 (http://edelivery.oracle.com),并选择“Oracle Enterprise Performance Management System”。 2. **下载安装包**:为本教程下载的是 32 位...