`
oolala
  • 浏览: 104027 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
09c341db-7f05-3f2b-a572-9ee69a5d8a77
unix环境高级编程
浏览量:22927
社区版块
存档分类
最新评论

优化排序操作

阅读更多

优化排序操作

[1]排序进程

  如果可以在小于参数sort_area_size的值(以字节为单位)的区域中进行排序,服务器则会在内存中执行该操作。

 

如果排序需要的空间大于此值:

1)将数据分为较小的片段(称为排序存储片),并对每个片段单独排序。

2)服务器进程将片段写入磁盘上的临时段中,当服务器处理其他的排序存储片时,这些段   可以保留中间的排序存储片数据。

3)将已排序的片段合并在一起以生成最终结果。如果sort_area_size的大小不足以一次合并所有的存储片,则这些存储片的子集将并入多次合并过程。

 

[2]排序区域和参数

当与专用服务器连接时,是PGA的一部分。

 

参数:SORT_AREA_SIZE

      SORT_AREA_RETAINE_SIZE

      --当排序完成并且排序区域仍包含待提取的排序行时,排序区域可以收缩到

       SORT_AREA_RETAINED_SIZE参数指定的大小。

      --当从排序空间提取出最后一行之后,内存将被释放回UGA以便同一oracle服务器进程使用

      --该参数的缺省值等于SORT_AREA_SIZE参数。

 

 [3]优化排序

 --如果处理的数据以前曾进行过排序,则不必再进行排序。

--如果排序操作太大,则过小的排序区会导致磁盘交换的性能开销,请确保尽可能在

内存中进行排序操作。

   --使用大内存块进行排序,可能会导致页面调试和交换并降低系统总体性能。

   --如果使用永久表空间代替临时表空间进行磁盘排序,那么频繁地分配和解除分配临时段,可能会导致栓锁争用和性能问题。

   

    优化目标:

    --避免不必要的排序操作

    --优化内存排序和磁盘开销

    --消除分配和解除分配临时段的空间分配调用。

 

[4]排序进程和临时空间

a)创建临时表空间

create temporary tablespace temp tempfile ‘$HOME/ORADATA/u06/temp01.dbf’ size 200M

a)       临时表空间的优点

为排序指定临时表空间,可以有效地消除在分配和解除分配排序空间时,所涉及的连续繁杂的空间管理操作。

临时表空间:

--不能包含任何永久对象

--可以包含临时对象

临时表空间必须具有临时文件,这些文件的优点是,不需要作为备份策略的一部分,因而在备份进程中可以节省时间。

每个用户都有临时表空间,缺省情况下,临时表空间被设置为system,除非dba分配了缺省临时表空间,当用户创建临时表或需要排序区域时,无法指定临时存储区域。临时存储区域是在分配给该用户的临时表空间中创建的。

 

[5]临时空间段

--在使用表空间的第一个排序操作期间创建

--数据库关闭时即删除

--需要时可增长

--组成区,每个区都可由不同的排序操作使用

 

[6]要排序的操作

a)索引创建

在创建B树前,服务器进程必须先对已索引的值排序

b)order by group by子句

服务器进程必须对order bygroup by子句中的值进行排序。

c)distinct

distinct关键字,排序必须删除重复值。

d)UNIONINTERSECTMINUS操作符

服务器需要对它们正在删除重复值的表进行排序。

e)排序合并联接

如果没有可用的索引,等值联接请求需要:

执行二张表的全表扫描

分别对每个行源排序

将已排序的源合并到一起,即将一个源中的每一行与其他源的每个匹配行组合。

 

[7]避免排序

--nosort创建索引

对于使用sql*loader的单cpu计算机,在为其中预排序数据创建索引时,使用nosort子句。此子句仅对插入到表中的数据有效:

SQL>create index emp on emp(emp_id) nosort;

 

--UNION ALL

使用UNION ALL,而不是使用UNION;此子句不消除重复值,因此不必排序。

 

--嵌套循环联接

使用索引访问进行等值联接请求:

 

--索引和order by

ordery by语句经常引用的列创建索引。因为索引是有序的,因此服务器将使用索引而不是排序操作。创建索引的方式必须与ordery by子句匹配。

 

--analyze for columns

只收集有关的列的统计信息,例如,在联接条件中涉及的统计信息:

analyze…for cloumnsanalyze…for all indexed columns

 

 

[8]诊断工具

v$sysstat视图显示在内存中和磁盘上的执行排序数量,及排序行数。

SELECT * FROM v$sysstat WHERE NAME LIKE '%sort%';

Sort(disk):临时段中需要I/O的排序数量。

Sort(memory):全部在内存中执行的排序数量。

Sort(rows):监视期间排序的总行数。

 

在oltp系统中,磁盘排序数量与内存排序数量之比应小于5%。如果比率大于5%,应增大

sort_area_size  pga_aggregate_target的值。

 

[9]监视临时表空间

SELECT * FROM v$sort_segment;

此视图包含例程中临时表空间的每个排序段的信息

current_users:活动用户的数量

total_extents:区的总数

used_extents:当前分配给排序的区

extent_hits:在池中发现未使用的区的次数

max_used_blocks:已用块的最大数量

max_sort_blocks:单个排序使用的块的最大数量

 

临时表空间配置:临时表空间的缺省存储参数都应用于排序段,除非它们有无限的区

0
0
分享到:
评论

相关推荐

    在用2025年mac M3pro 芯片 安装iNode mac版

    在用2025年mac M3pro 芯片 安装iNode mac版

    纯电动汽车整车Matlab Simulink仿真模型:包含电机、电池等五大模块及整车动力学仿真参数可直接运行分析,纯电动汽车整车Matlab simulink仿真模型(电机模型、电池模型、变速器模型、

    纯电动汽车整车Matlab Simulink仿真模型:包含电机、电池等五大模块及整车动力学仿真参数可直接运行分析,纯电动汽车整车Matlab simulink仿真模型(电机模型、电池模型、变速器模型、驾驶员模型、整车动力学模型) ——整车总成参数都有,可直接运行仿真 ,核心关键词: 纯电动汽车; Matlab simulink仿真模型; 电机模型; 电池模型; 变速器模型; 驾驶员模型; 整车动力学模型; 整车总成参数; 可直接运行仿真。,"纯电动整车Matlab Simulink仿真模型:多模块协同仿真系统"

    利用新算法PD(Possibility-Driven)的近场动力学模型:三维复杂裂纹扩展的精确模拟,用新算法pd 近场动力学模拟三维复杂裂纹扩展 ,核心关键词:新算法; 近场动力学; 三维复杂裂纹扩展

    利用新算法PD(Possibility-Driven)的近场动力学模型:三维复杂裂纹扩展的精确模拟,用新算法pd 近场动力学模拟三维复杂裂纹扩展 ,核心关键词:新算法; 近场动力学; 三维复杂裂纹扩展; 模拟; 扩展分析。,"利用新型PD算法模拟三维复杂裂纹扩展的近场动力学分析"

    拉盖尔高斯光束透射石英基底石墨烯涂层的光强分布特性研究:深入探索与实验分析,文章复现:拉盖尔高斯光束入射石英基底石墨烯涂层的透射光强分布特性研究 ,关键词:拉盖尔高斯光束;石英基底;石墨烯涂层;透射光

    拉盖尔高斯光束透射石英基底石墨烯涂层的光强分布特性研究:深入探索与实验分析,文章复现:拉盖尔高斯光束入射石英基底石墨烯涂层的透射光强分布特性研究 ,关键词:拉盖尔高斯光束;石英基底;石墨烯涂层;透射光强分布特性;研究。,"石英基底石墨烯涂层下,拉盖尔高斯光束透射光强分布特性研究"

    最新版仿天涯论坛系统源码带后台

    亲测正常使用版,代码精简,压缩包也小,程序运行速度更快,效率更高,服务器抗攻击能力更强 功能方面: 仿天涯论坛模板的免费论坛系统在功能方面也很强大!程序本身包含一个PC版网站和一个手机版网站 支持打包APP安装包,开放式PHP原生态模板在线编译,音频视频发布直接生成HTML5代码,能够适应各种界面浏览器

    【预定SCI2区】基于matlab鸽群算法PIO-BiTCN-BiGRU-Attention风电预测【含Malab源码 11049期】.zip

    CSDN海神之光上传的全部代码均可运行,亲测可用,直接替换数据即可,适合小白; 1、代码压缩包内容 主函数:Main .m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,可私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开除Main.m的其他m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博主博客文章底部QQ名片; 4.1 CSDN博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    基于遗传算法的多无人机协同任务分配优化:寻找代价函数最小值方案,综合考虑航程与消耗时间,-基于遗传算法的多无人机协同任务分配 - 种群中的每一个个体代表一次完整的任务分配方案,模型目标是找到代价函数的

    基于遗传算法的多无人机协同任务分配优化:寻找代价函数最小值方案,综合考虑航程与消耗时间,-基于遗传算法的多无人机协同任务分配 - 种群中的每一个个体代表一次完整的任务分配方案,模型目标是找到代价函数的最小值,当作任务分配的最终方案 - 任务的代价评估分为两部分:无人机的总航程和消耗的总时间,分别设置了不同权重 ,基于遗传算法;多无人机协同任务分配;个体代表任务分配方案;模型目标为最小代价函数;代价评估包括总航程与总时间;不同权重设置。,基于遗传算法的无人机任务分配优化:寻找最小代价函数的最优解

    C#设计案例,餐饮管理

    ===下载后有不懂的可以私信我。==== 在本"C#设计案例,餐饮管理"项目中,我们探讨的是使用C#编程语言开发一套餐饮管理系统的过程。这个系统旨在帮助餐饮业者更好地管理和优化他们的日常运营,包括但不限于点餐、结账、库存管理和员工排班等核心功能。作为初学者,这是一个很好的实践平台,可以提升对C#语言的理解以及软件工程的实践经验。 让我们从C#语言的基础开始。C#是一种面向对象的编程语言,由微软公司开发,广泛应用于Windows平台和.NET框架。它支持类、接口、继承、多态等面向对象特性,还引入了匿名方法、lambda表达式、LINQ(Language Integrated Query)等高级特性,使得代码更加简洁高效。 在这个餐饮管理系统中,我们需要设计几个关键的类来代表不同的实体,例如“菜品”类、“订单”类、“顾客”类等。这些类将包含各自相关的属性和方法。例如,“菜品”类可能有名称、价格、库存量等属性,而“订单”类则需要处理下单、修改、取消等操作。在实现这些类时,我们可以利用C#的封装、继承和多态性来提高代码的可读性和可维护性。 接着,我们将涉及数据库的交互。餐饮管理系统通常需要存储大量的菜品信息、订单记录、会员数据等,这需要我们使用数据库技术。C#可以借助ADO.NET库与SQL Server或其他关系型数据库进行通信。通过创建数据连接、执行SQL语句和填充数据集,我们可以实现数据的增删改查操作。 此外,界面设计也是系统的重要组成部分。在Windows Forms或WPF框架下,我们可以使用C#构建用户友好的图形界面。这包括菜单、按钮、文本框等控件,以及事件处理机制,如点击按钮触发的函数调用。通过UI设计,用户可以直观地查看菜单、下单和查看订单状态。 在库存管理方面,我们需要实现库存预警功能,当某菜品库存低于预设值时自动提醒。这涉及到定时任务和后台服务的开发,C#提供了Task或者计划任务(Scheduled Tasks)来实现这一需求。 至于员工排班,可以设计一个排班模块,允许管理者根据员工的工作时间、技能和休假情况进行智能排班。这里可能需要用到算法,如贪心算法或优先队列,来优化排班效率。 为了保证系统的稳定性和安全性,我们需要考虑异常处理、日志记录和权限控制。C#的try-catch语句用于捕获并处理运行时错误,而日志记录则可以帮助追踪和诊断问题。权限控制确保只有授权的用户才能访问特定功能。 这个C#餐饮管理系统案例涵盖了面向对象编程、数据库操作、UI设计、算法应用等多个方面,对于初学者来说,这是一个全面了解和掌握C#编程技能的好机会。通过实际项目的学习和实践,不仅可以提升技术能力,还能锻炼解决问题和团队协作的能力。。内容来源于网络分享,如有侵权请联系我删除。

    "MATLAB Simulink仿真实现风力发电直驱永磁同步风机最大功率跟踪与转速电流双闭环控制并入电网技术实践",MATLAB Simulink仿真可运行,风力发电,直驱永磁同步风机,最大功率跟踪

    "MATLAB Simulink仿真实现风力发电直驱永磁同步风机最大功率跟踪与转速电流双闭环控制并入电网技术实践",MATLAB Simulink仿真可运行,风力发电,直驱永磁同步风机,最大功率跟踪,转速电流双闭环,风力发电并网 可保证能运行再电子资料,恕不 ,核心关键词:MATLAB Simulink仿真; 风力发电; 直驱永磁同步风机; 最大功率跟踪; 转速电流双闭环; 风力发电并网; 可运行电子资料。,MATLAB Simulink仿真:直驱永磁风力发电系统MPPT与双闭环控制并网研究

    基于springboot的校园疫情防控系统lw+ppt

    包含项目论文和毕业答辩PPT,详情请看博客:https://blog.csdn.net/2401_87429224/article/details/145230915 论文主要包括以下内容: 1、中英文摘要; 2、目录; 3、绪论,包括背景、意义、开发工具、国内外现状等; 4、系统分析,包括可行性分析、设计原则、需求分析、业务流程分析等; 5、系统设计,包括功能设计、数据库设计等; 6、系统实现,包括各模块实现; 7、软件测试,包括测试环境、测试条件、运行情况等。

    日常答题获得奖励页面HTML源码.zip

    日常答题赢奖励单页HTML源码,可自定义设置奖品等等,若对方答对则弹出奖品(可自行修改) 文章:https://blog.csdn.net/huayula/article/details/145230157

    全新phpenc代码加密系统源码 PHP代码加密程序源码

    全新phpenc代码加密系统源码 PHP代码加密程序源码 这是一款开源免费扩展加密程序,类似于SG11加密,支持单个PHP(免费)文件以及批量PHP文件(ZIP压缩包格式)源码加密的保护平台,加密后的源码文件保持原有代码结构,可以跨平台运行,可以运行于所有PHP环境下,支持PHP5.6-8.0版本。加密后不支持解密服务,建议在加密之前备份原有PHP文件。 安装教程:PHP版本(php5.6-7.3)

    高海拔输油管道气保护药芯焊丝半自动焊工艺研究与应用.pdf

    高海拔输油管道气保护药芯焊丝半自动焊工艺研究与应用.pdf

    Java毕业设计-springboot-vue-墙绘产品展示交易平台(源码+sql脚本+29页零基础部署图文详解+31页论文+环境工具+教程+视频+模板).zip

    资源说明: 1:csdn平台资源详情页的文档预览若发现'异常',属平台多文档切片混合解析和叠加展示风格,请放心使用。 2:29页图文详解文档(从零开始项目全套环境工具安装搭建调试运行部署,保姆级图文详解),旨在为更多的人甚至零基础的人也能运行、使用和学习。 3:配套毕业论文,万字长文,word文档,支持二次编辑。 4:范例参考答辩ppt,pptx格式,支持二次编辑。 5:工具环境、ppt参考模板、相关电子教程、视频教学资源分享。 6:资源项目源码均已通过严格测试验证,保证能够正常运行,本项目仅用作交流学习参考,请切勿用于商业用途。 7:项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通。 内容概要: 本系统基于 B/S 网络结构,在 IDEA 中开发。服务端用 Java 并借 Spring Boot 框架搭建后台。前台采用支持 HTML5 的 VUE 框架。用 MySQL 存储数据,可靠性强。 能学到什么: 使用Spring Boot搭建后台。VUE 框架构建前端交互界面、前后端数据交互、MySQL管理数据、从零开始环境搭建、调试、运行、打包、部署流程。

    滚动轴承与转子8自由度系统动力学模型:求解收敛性分析及其在不同参数变化下的动力学响应差异参考例证 ,滚动轴承–转子8自由度系统动力学模型,求解收敛,可作为相关模型参考的例子,可分析不同参数变化下动力学

    滚动轴承与转子8自由度系统动力学模型:求解收敛性分析及其在不同参数变化下的动力学响应差异参考例证。,滚动轴承–转子8自由度系统动力学模型,求解收敛,可作为相关模型参考的例子,可分析不同参数变化下动力学响应差别 ,核心关键词:滚动轴承; 转子8自由度系统动力学模型; 求解收敛; 参数变化; 动力学响应差别; 参考例子; 分析。,滚动轴承转子系统8自由度动力学模型:求解收敛与参数响应分析参考例子

    2025年辐射安全与防护培训考试题库(附答案).docx

    2025年辐射安全与防护培训考试题库(附答案).docx

    直流电机双闭环调速系统仿真模型:附参数计算与PI参数整定教程,实现无静差跟踪控制,直流电机双闭环调速系统仿真模型 1.附带仿真模型参数计算配套文档 2.附带转速外环、电流内环PI参数整定配套文档 功能

    直流电机双闭环调速系统仿真模型:附参数计算与PI参数整定教程,实现无静差跟踪控制,直流电机双闭环调速系统仿真模型 1.附带仿真模型参数计算配套文档 2.附带转速外环、电流内环PI参数整定配套文档 功能:双闭环采用转速外环、电流内环,其中PI参数在报告里面有详细的整定教程,可以实现无静差跟踪 ,直流电机双闭环调速系统仿真模型; 仿真模型参数计算; 转速外环、电流内环PI参数整定; 无静差跟踪。,"双闭环调速系统仿真模型:参数计算与PI整定教程"

    基于springboot的实验室管理系统lw+ppt

    包含项目论文和毕业答辩PPT,详情请看博客: 论文主要包括以下内容: 1、中英文摘要; 2、目录; 3、绪论,包括背景、意义、开发工具、国内外现状等; 4、系统分析,包括可行性分析、设计原则、需求分析、业务流程分析等; 5、系统设计,包括功能设计、数据库设计等; 6、系统实现,包括各模块实现; 7、软件测试,包括测试环境、测试条件、运行情况等。

    三相PWM整流器闭环仿真:电压电流双闭环控制及Matlab Simulink模型实现,三相PWM整流器 三相PWM整流器闭环仿真,电压电流双闭环控制,输出直流电压做外环 模型中包含主电路,坐标变,电压

    三相PWM整流器闭环仿真:电压电流双闭环控制及Matlab Simulink模型实现,三相PWM整流器 三相PWM整流器闭环仿真,电压电流双闭环控制,输出直流电压做外环 模型中包含主电路,坐标变,电压电流双环PI控制器,PWM发生器 matlab simulink模型 ,三相PWM整流器; 闭环仿真; 电压电流双闭环控制; PI控制器; PWM发生器; MATLAB Simulink模型。,"三相PWM整流器:电压电流双闭环PI控制与Matlab Simulink模型仿真"

    《已调试》springboot SSM 宠物医院管理系统(源码+论文).zip

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。

Global site tag (gtag.js) - Google Analytics