浅谈Oracle优化排序的操作
创始人
2024-03-26 18:51:31
0

概念

服务器首先在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、将临时表空间文件分散到多个磁盘上

【编辑推荐】

  1. 深度揭露Oracle索引使用中的限制
  2. 浅谈Oracle性能优化可能出现的问题
  3. Oracle中spool命令实现的两种方法比较

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
P2P的自白|我不生产内容,我... 现在一提起P2P,人们就会联想到正在被有关部门“围剿”的互联网理财服务。×租宝事件使得劳...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...