`

oracle性能调整的十大要点-优化排序操作

阅读更多
三、优化排序操作

    1、概念
    服务器首先在sort_area_size指定大小的内存区域里排序,如果所需的空间超过sort_area_size,排序会在临时表空间里进行。在专用服务器模式下,排序空间在PGA中,在共享服务器模式下,排序空间在UGA中。如果没有建立large pool,UGA处于shared pool中,如果建立了large pool,UGA就处于large pool中,而PGA不在sga中,它是与每个进程对应单独存在的。

     PGA:program global area,为单个进程(服务器进程或后台进程)保存数据和控制信息的内存区域。PGA与进程一一对应,且只能被起对应的进程读写,PGA在用户登录数据库创建会话的时候建立。

    有关排序空间自动管理的两个参数:
    Pga_aggregate_target: 10M-4000G,等于分配给oracle instance的所有内存减去SGA后的大小。
    Workarea_size_policy: auto/manual,只有Pga_aggregate_target已定义时才能设置为auto。
    这两个参数会取代所有的*_area_size参数。

    措施:

    尽可能避免排序;尽可能在内存中排序;分配合适的临时空间以减少空间分配调用。

    2、需要进行排序的操作:
    A、创建索引;
    B、涉及到索引维护的并行插入
    C、order by或者group by(尽可能对索引字段排序)
    D、Distinct
    E、union/intersect/minus
    F、sort-merge join
    G、analyze命令(仅可能使用estamate而不是compute)

    3、诊断和措施
    Select * from v$sysstat where name like ‘%sort%’;
    Sort(disk):要求Io去临时表空间的排序数目
    Sort(memory):完全在memory中完成的排序数目
    Sort(rows):被排序的行数合计

    Sort(disk)/ Sort(memory)<5%,如果超过5%,增加sort_area_size的值。
    SELECT disk.Value disk,mem.Value mem,(disk.Value/mem.Value)*100 ratio FROM v$sysstat disk,v$sysstat mem WHERE mem.NAME=''sorts (memory)'' AND disk.NAME=''sorts (disk)'';

    4、监控临时表空间的使用情况及其配置
    Select tablespace_name,current_users,total_extents,used_extents,extent_hits,max_used_blocks,max_sort_blocks FROM v$sort_segment ;

    Column Description
    CURRENT_USERS Number of active users
    TOTAL_EXTENTS Total number of extents
    USED_EXTENTS Extents currently allocated to sorts
    EXTENT_HITS Number of times an unused extent was found in the pool
    MAX_USED_BLOCKS Maximum number of used blocks
    MAX_SORT_BLOCKS Maximum number of blocks used by an individual sort

    临时表空间的配置:
    A、initial/next设置为sort_area_size的整数倍,允许额外的一个block作为segment的header
    B、pctincrease=0
    C、基于不同的排序需要建立多个临时表空间
    D、将临时表空间文件分散到多个磁盘上
分享到:
评论

相关推荐

    Oracle性能调整的十大要点

    ### Oracle性能调整的十大要点详解 #### 一、SGA(共享全局区)优化 **1. Shared Pool Tuning** Shared Pool是SGA的一个重要组成部分,用于存储最近使用过的SQL语句及其执行计划等信息。优化Shared Pool对于提高...

    高级owi与oracle性能调整

    在进行Oracle性能调整时,管理员需要具备丰富的知识和经验,能够综合考虑多方面因素,通过不断的测试和验证,找到最佳的性能优化方案。同时,性能调优是一个持续的过程,数据库环境会随业务需求的变化而变化,因此...

    Oracle9i 数据库性能优化

    ### Oracle9i 数据库性能优化知识点详解 #### 一、Oracle9i 数据库性能优化概述 Oracle9i 是 Oracle 公司推出的一款功能强大的关系型...希望本文能够帮助大家更好地理解和掌握 Oracle9i 数据库性能优化的核心要点。

    Oracle性能优化学习心得

    4. 排序调整:优化排序过程,减少排序所需的资源。 5. 竞争调整:调整表和索引的参数,减少UPDATE和INSERT操作的竞争。 四、调优分类 1. 设计阶段: A. 数据库设计优化: a. 结构优化:根据应用需求设计数据库,...

    ORACLE_SQL性能优化(这个很全的)

    Oracle SQL性能优化是一个复杂而深入的主题,涉及到数据库的多个层面,包括查询优化、索引策略、表设计、存储...以上仅为ORACLE SQL性能优化的部分要点,实际操作中还需要结合具体业务场景,进行全面的性能测试和调优。

    Oracle性能调优讲解

    - **排序和临时表空间**:优化排序操作,减少临时表空间的使用频率。 - **SQL语句优化**:通过对SQL语句进行分析和优化,提升查询效率。 #### 六、总结 Oracle性能调优是一个涉及多个层面、需要综合考虑多方面因素...

    ORACLE9i_优化设计与系统调整

    §5.1 理解ORACLE性能优化 82 §5.1.1 响应时间与吞吐量的折衷 82 §5.1.2 临界资源 83 §5.1.3 过度请求的影响 83 §5.1.4 调整以解决问题 83 §5.2 优化的执行者 84 §5.3 设置性能目标 84 第7章 系统优化方法 85 ...

    ORACLE 性能优化

    以上仅是Oracle性能优化的部分要点,实际操作中需结合具体环境和业务需求进行深入分析和调整。在不断学习和实践中,数据库管理员和开发人员可以不断提升Oracle系统的运行效率,为企业的数字化转型提供坚实后盾。

    Oracle数据库管理员指南-管理表-中文版.pdf Administrator's Guide Oracle Managing Tables

    本文将详细介绍Oracle数据库中表的管理要点,包括表的基本概念、设计原则、创建、修改、删除以及相关的数据字典视图。 首先,表是Oracle数据库中用于存储数据的基本单位,它由行和列组成。在创建表时,需要为每个列...

    Oracle优化日记:一个金牌DBA的故事 白鳝.扫描版

    全局热块冲突优化小技巧 PL/SQL中数据类型的性能5月23日 实时ODS今日点评优化小技巧 ODS系统中Oracle数据库设计管理要点优化小技巧 ODS系统中的开发要点优化小技巧 集合类型的效率5月24日 任务提前今日点评优化小...

    Oracle 查询优化,个人练习

    Oracle查询优化是数据库管理中的关键...以上是Oracle查询优化的一些核心要点,实践中还需要根据具体情况进行深入分析和测试,不断优化查询,以实现数据库的最佳性能。不断学习和实践是成为Oracle查询优化大师的关键。

    Oracle优化

    Oracle优化是数据库管理中的核心环节,它...以上只是Oracle优化的部分要点,实际的优化过程需要结合具体业务场景和系统负载进行深入分析和调整。通过不断学习和实践,可以进一步提升Oracle数据库的运行效率和稳定性。

    Oracle数据库教程.txt

    ### Oracle数据库教程知识点详解 ...通过上述内容的学习与实践,可以全面掌握Oracle数据库的相关知识和技术要点,为今后从事相关工作打下坚实基础。此外,建议结合视频教程加深理解,并尝试参与实际项目来积累经验。

    oracle数据库优化报告.docx

    Oracle数据库优化报告 1、概述 Oracle数据库是企业级数据...以上内容仅是Oracle数据库优化的部分要点,实际操作中还需要结合具体业务场景和数据库状态进行深入分析和调整。优化工作需谨慎进行,以防止产生不良影响。

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

    - **内存**:足够的内存对于Oracle性能至关重要,因为它与缓存(如数据缓冲区)直接相关。内存不足会导致频繁的磁盘I/O,影响性能。增加内存或优化内存分配策略可以显著提升性能。 - **网络条件**:网络带宽和设备...

    oracle SQL语句优化概述

    如果SQL语句没有经过适当的优化,即使数据库的设计再合理、调整再恰当,也可能无法达到预期的性能水平,从而引起用户的不满和上级的不悦。 #### 三、SQL语句优化的方法 ##### 1. 合理使用索引 索引是数据库中最...

    关于oracle的sql优化资料

    ### 关于Oracle SQL优化的关键知识点 #### 一、SQL优化的重要性 在数据库管理与开发过程中,SQL查询性能的优劣直接影响到系统的响应速度和用户体验。特别是在Oracle这样的大型关系型数据库管理系统中,高效的SQL...

    Oracle学习心得,Oracle使用方法,Oracle教程,Oracle入门教程

    要点包括SQL优化(如使用EXPLAIN PLAN分析执行计划)、表分区、内存调整和数据库架构设计等。 以上只是Oracle庞大知识体系的冰山一角,Oracle学习是一个持续的过程,通过不断的实践和学习,你将逐渐掌握这个强大的...

    零点起飞学 Oracle.pdf 清华大学出版

    2. **性能调优**:包括SQL语句优化、索引调整、内存参数配置等方面,旨在提升数据库的整体性能。 3. **安全性管理**:涉及用户权限设置、角色管理、审计策略等方面,确保数据的安全访问。 通过以上几个方面,我们...

Global site tag (gtag.js) - Google Analytics