首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Oracle 性能优化总结

二、数据库访问性能优化 特别说明: 1、 本文只是面对数据库应用开发的程序员,不适合专业DBA,DBA在数据库性能优化方面需要了解更多的知识; 2、 本文许多示例及概念是基于Oracle数据库描述,...这个优化法则归纳为5个层次: 1、 减少数据访问(减少磁盘访问) 2、 返回更少数据(减少网络传输或磁盘访问) 3、 减少交互次数(减少网络传输) 4、 减少服务器CPU开销(减少CPU及内存开销...以下是每个优化法则层级对应优化效果及成本经验参考: 优化法则性能提升效果优化成本减少数据访问1~1000低返回更少数据1~100低减少交互次数1~20低减少服务器CPU开销1~5低利用更多资源@~10高...2.1.2、应用服务器分页 将数据从数据库服务器全部下载到应用服务器,在应用服务器内部再进行数据筛选。...首先大部份数据库都会有SQL长度和IN里个数的限制,如ORACLE的IN里就不允许超过1000个值。

2.1K21
您找到你想要的搜索结果了吗?
是的
没有找到

Oracle SQL性能优化

(1)      选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table...当ORACLE找出执行查询和Update语句的最佳路径时, ORACLE优化器将使用索引. 同样在联结多个表时使用索引也可以提高效率....当ORACLE”遇到”NOT,他就会停止使用索引转而执行全表扫描. (22) 避免在索引列上使用计算. WHERE子句中,如果索引列是函数的一部分.优化器将不使用索引而使用全表扫描....对于这块内存的优化也是相当重要的....如果你的数据库的SORT_AREA_SIZE调配得好, 使用UNION , MINUS, INTERSECT也是可以考虑的, 毕竟它们的可读性很强 (34) 优化GROUP BY: 提高GROUP

2.7K70

Oracle优化04-Optimizer优化

---- Optimizer概述 Oracle数据库中的优化器是SQL分析和执行的优化工具,它负责制定SQL的执行计划,也就是它负责保证SQL执行效率最高....Oracle优化器有两种 RBO 基于规则的优化器 CBO 基于代价的优化器 从ORACLE10G开始,RBO已经被弃用(但是我们依然可以通过HINT的方式使用它)。...---- RBO(Rule Based Optimizer) RBO概述 在8i之前,ORACLE使用RBO(Rule Based Optimizer 基于规则的优化器)优化器。...使用 hint /+ rule /的方式强制让ORACLE使用RBO优化器来产生执行计划,结果非常令人失望,不出所料,ORACLE在ID字段有索引的情况下,毫无悬念的全部选择了索引。...(3)语句优化的整体质量高于RBO。 (4)Oracle的大量新特性只能在CBO下运行。例如:HASH_JOIN操作、Bitmap索引、物化视图等。

1.1K20

oracle insert优化「建议收藏」

author:skate time:2010/10/19 ---- insert优化 要想提高insert的速度,首先要知道什么影响insert慢,在执行insert的过程中产生redo和undo,...优化sql语句本身 8. pl/sql批处理 —化整为零,把大事务变成零散的小事务...说明:tb_order_detail_his :7000W记录 tb_order_detail :2000W记录 优化前: INSERT INTO /*+ append */...WHERE tcc.id=tcch.id ) 在做数据归档时,需要做大数据量的insert,对于insert内容少还是可以胜任的,可当要把200多万的数据归档,2个小时都没有成功, 于是对其优化改造...,利用append,parallel,分批处理,nologging方法,使这个200W的数据归档在15分钟就完成 优化后: 通过 mod(tcc.id,10)把内容分10部分提交归档 INSERT

1.5K10

Linux 内核参数优化(for oracle)

Oracle 不同平台的数据库安装指导为我们部署Oracle提供了一些系统参数设置的建议值,然而建议值是在通用的情况下得出的结论,并非能完全满足不同的需求。...Oracle SGA即是基于此方式来实现Oracle进程之间数据共享。因此SGA的合理设置对Oracle性能有重大的影响。   可以通过ipcs -lm来查看所有的共享内存设置。...sga(首选方式)       SHMMAX < SGASIZE : 分配多个连续或不连续的共享内存段给sga     由上可知应当设置为大于当前服务器上运行实例的最大的SGA的大小。     ...对于Oracle 10g,Oracle的对该参数的建议值至少为4096。一般情况下够用。...-- Author : Robinson     -- Blog   : http://blog.csdn.net/robinson_0612 h、信号量设置示例     SEMMSL应该设置为服务器中实例中具有最大的

4.3K21

Oracle初级性能优化总结

前言   关于对Oracle数据库查询性能优化的一个简要的总结。 从来数据库优化都是一项艰巨的任务。对于大数据量,访问频繁的系统,优化工作显得尤为重要。...由于Oracle系统的灵活性、复杂性、性能问题的原因多样性以及Oralce数据库的动态特性,优化成为Oracle数据库管理中最困难的领域。...作为一个对数据库了解不多的程序猿,我也只能从最基本的开始着手,慢慢来学习掌握Oracle的基础吧。...因为空值不存在于索引列中,所以where子句中对索引列进行空值比较将使Oracle停用该索引。...上面总结的都是常规的做法,当然具体优化还要根据具体的环境进行处理,处理方式复杂多变,但万变不离其宗。如有错误,请及时通知加以更正,谢谢。

85530

Oracle中的SQL优化

没有对表进行统计分析的情况下ORACLE会按表出现的顺序进行链接,由此因为表的顺序不对会产生十分耗服务器资源的数据交叉。...(注:如果对表进行了统计分析,ORACLE会自动先进小表的链接,再进行大表的链接) 三.SQL语句索引的利用     1.对操作符的优化(见上节)     2.对条件字段的一些优化:     a.采用函数处理的字段不能利用索引...它可以对SQL进行以下方面的提示     1.目标方面的提示:     COST(按成本优化)     RULE(按规则优化)     CHOOSE(缺省)(ORACLE自动选择成本或规则进行优化)    ...根据实践应用,一般不建议开发人员应用ORACLE提示,因为各个数据库及服务器性能情况不一样,很可能一个地方性能提升了,但另一个地方却下降了,     ORACLE在SQL执行分析方面已经比较成熟,    ...如果分析执行的路径不对首先应在数据库结构(主要是索引)、服务器当前性能(共享内存、磁盘文件碎片)、数据库对象(表、索引)统计信息是否正确这几方面分析。

1.8K20

Oracle sql 性能优化(一)

这是我参与「掘金日新计划 · 8 月更文挑战」的第16天,点击查看活动详情 >> 性能优化 2.1【推荐】尽量减少数据库负担 说明: 当执行每条 SQL 语句时, ORACLE 在内部执行了许多工作...减少访问数据库的次数,就能实际上减少 ORACLE 的工作量 \ 2.2【推荐】避免大表关联,大表关联可能存在性能问题 \ 2.4【强制】禁止使用“SELECT *”这样的语句,特别是在程序代码内部 说明...CERT_ID, PARENT_ID, DELIVER_METHOD, ZIPCODE FROM CUST WHERE CUST_ID = 1 \ 2.5【推荐】尽量避免多表的关联操作 说明: 关联表越多,需要 Oracle...2.9.3 【推荐】对于复合索引,SQL 语句的 WHERE 查询条件总是使用索引的第一列 说明: 如果索引是建立在多个列上, 只有在它的第一个列(leading column)被 where 子句 引用时,优化器才会选择使用该索引...ATTR_ID = :ATTR_ID 【说明】: PROD_ATTR_VALUE 表 有 复 合 索 引 PK_PROD_ATTR_VALUE(PROD_ID,ATTR_ID) \ 2.9.4 【推荐】使用 Oracle

83330

Oracle优化器基础知识

本博客介绍一下属于oracle优化器范畴的一些基础知识,访问数据的方法,分为直接访问数据的方法和访问索引的方法两种,然后有了这些基础知识后,可以参考学习我的另外一篇博客:Oracle优化器简介,对Oracle...的一些原理的简单介绍,对于学习oracle方面的SQL优化是有帮助的,https://cloud.tencent.com/developer/article/1399323 一、访问数据的方法 Oracle...本博客先介绍直接访问数据的方法,下一篇博客在访问索引的方法 1、直接访问数据 Oracle直接访问表中数据的方法又分为两种:一种是全表扫描;另一种是ROWID扫描 1.1 全表扫描 全表扫描是Oracle...数据库来说,B树索引是最常见的了,下面给出B树索引的图,图来自《基于Oracle的SQL优化》一书: ?...创建唯一性索引SQL是: create unique index 索引名 on 表名(列名) 例子,例子来自《基于Oracle的SQL优化》一书: scott用户登录 SQL> create table

65840
领券