个人理解,数据库性能最关键的因素在于IO,因为操作内存是快速的,但是读写磁盘是速度很慢的,优化数据库最关键的问题在于减少磁盘的IO,就个人理解应该分为物理的和逻辑的优化, 物理的是指oracle产品本身的一些优化,逻辑优化是指应用程序级别的优化  物理优化的一些原则:  1). Oracle的运行环境(网络,硬件等)  2). 使用合适的优化器  3). 合理配置oracle实例参数  4). 建            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-12-08 10:25:29
                            
                                207阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            其实用inner join这些连接的消耗也挺大            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-09-28 09:43:48
                            
                                67阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Oracle SQL的优化规则:
[color=blue][b]尽量少用IN操作符,基本上所有的IN操作符都可以用EXISTS代替[/b][/color]
用IN写出来的SQL的优点是比较容易写及清晰易懂,但是用IN的SQL性能总是比较低的,从ORACLE执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别:
ORACLE 试图将其转换成多个表的连接            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-02-06 17:07:51
                            
                                434阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            oracle数据库性能优化 2012-4-24 09:20阅读(2) 
下一篇:老板不称职该怎么... |返回日志列表
赞赞赞赞
转载
分享
评论
复制地址
更多
1、调整数据结构的设计。这一部分在开发信息系统之前完成,程序员需要考虑是否使用ORACLE数据库的分区功能,对于经常访问的数据库表是否需要建立索引等。 2、2、调整应用程序            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                            精选
                                                        
                            2012-04-24 21:43:47
                            
                                452阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            内存优化:
SGA包括三个部分组成。数据缓冲区、日志缓冲区及共享池
数据缓冲区:大小由DB_Cache_Size参数决定。
select name,value from v$parameter where name in('db_cache_size','db_block_size','shared_pool_size','sort            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                            精选
                                                        
                            2012-12-27 10:59:41
                            
                                713阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1、优化器的优化方式 
  Oracle的优化器共有两种的优化方式,即基于规则的优化方式(Rule-Based Optimization,简称为RBO)和基于代价的优化方式(Cost-Based Optimization,简称为CBO)。 
  A、RBO方式:优化器在分析SQL语句时,所遵循的是Oracle内部预定的一些规则。比如我们常见的,当一个where子句中的一列有索引时去走索引。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                            精选
                                                        
                            2011-08-28 22:04:55
                            
                                261阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             
    
        
            1.普通方式:
            select object_name,object_id,status
            from
            (
            select object_name,object_id,status,rownum rn
                        
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2011-10-19 10:44:16
                            
                                600阅读
                            
                                                                             
                 
                
                             
         
            
            
            
                Oracle优化器存在两种优化方式:基于规则的优化方式RBO(Rule-Based Optimization)和基于代价的优化方式CBO(Cost-Based Optimization),其中RBO方式在oracle10g中已经摒弃。
    RBO是一种基于规则的优化方式,优化器在分析SQL语句时遵循oracle内部预定的一些            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2012-04-18 15:08:45
                            
                                1043阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、在通常查询中,我们可以使用替代变量查询。
SQL>SELECT * FROM dept WHERE deptno = &&t;
在查询时,输入条件变量值。无论我们查询哪样信息,它都只安排一个查询计划,这样就能有效的提高查询语句的执行效率,这也是Oracle建议我们使用的查询方式。
如果不使用替代变量,而是直接输入查询条件,如:
SQL>SELECT * FR            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2012-10-23 11:48:47
                            
                                670阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、         update语句的语法与原理1.     语法单表:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值如:update&n            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2015-06-04 13:31:20
                            
                                731阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            本文的目的:  1、说一说Oracle的Optimizer及其相关的一些知识。  2、回答一下为什么有时一个表的某个字段明明有索引,当观察一些SQL的执行计划时,发现确不走索引的问题。  3、如果你对 FIRST_ROWS、 ALL_ROWS这两种模式有疑惑时也可以看一下这篇文章。  开始吧:  Oracle在执行一个SQL之前,首先要分析一下语句的执行计划,然后再按执行计划去执行。分析语句的执行            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                            精选
                                                        
                            2015-07-04 14:12:49
                            
                                260阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             在很多时候,我们会需要对一个表进行插入大量的数据,并且希望在尽可能短的时间内完成该工作,这里,和大家分享下我平时在做大量数据insert的一些经验。  前提:在做insert数据之前,如果是非生产环境,请将表的索引和约束去掉,待insert完成后再建索引和约束。  1.  insert into tab1 select * from&n            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                            精选
                                                        
                            2016-04-18 22:37:29
                            
                                6360阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            SQL语句执行步骤语法分析>语义分析>视图转换>表达式转换>选择优化器>选择连接方式>选择连接顺序>选择数据的搜索路径>运行“执行计划”选用适合的Oracle优化器RULE(基于规则)COST(基于成本)CHOOSE(选择性)访问Table的方式全表扫描全表扫描就是顺序地访问表中每条记录,ORACLE采用一次读入多个数据块(databaseblock            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2020-10-31 12:33:26
                            
                                1388阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: 1 select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: 1 select id fr            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2019-07-30 13:26:00
                            
                                224阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            整理一下网上所看到sql优化方法1、使用大写字母书写sql,因为oracle解释器会先将sql语句转换成大写后再解释2    减少访问数据库的次数,多数情况下一条sql可以达到目的的,就不要使用多条sql。当执行每条SQL语句时,ORACLE在内部执行了许多工作:解析SQL语句,估算索引的利用率,绑定变量,读数据块等等。由此可见,减少访问数据的次数,就能实际上减少ORACLE的工作量。例如:以下有            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2013-07-31 15:38:00
                            
                                92阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            1. 排序合理查询条件Oracle自下而上分析顺序WHERE收条,从优化性能的角度。它建议,这些条件将能够过滤掉大量行书写的WHERE在条款结束,之间的连接条件置于其它WHERE子句之前,即对易排查的条件先做推断处理。这样在过滤掉尽可能多的记录后再进行等值连接,能够提高检索效率。比如:SELECT ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2015-10-02 14:16:00
                            
                                105阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            1 not exist 比 not in 效率高很多2 UNION ALL 比 UNION 效率高很多3 Select*,Order by,Group by,Distinct, UNION,MINUS,INTERSECT操作是相当耗时的,在View中能不使用就不要使用4 通常联接查询比子查询的...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2012-06-14 09:26:00
                            
                                78阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            在 Linux 系统下使用 Oracle 数据库时,很多用户都会碰到一些性能优化的问题。为了最大程度地发挥 Oracle 数据库的性能优势,我们可以通过一些方式来对 Linux 系统进行优化。下面我们将介绍一些有关 Linux 系统下 Oracle 数据库的优化方法。
首先,我们可以通过调整 Linux 系统的内核参数来优化 Oracle 数据库的性能。在 Linux 系统中,可以通过修改 /e            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-05-17 11:10:55
                            
                                102阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            优化器(optimizer)是oracle数据库内置的一个核心子系统。优化器的目的是按照一定的判断原则来得到它认为的目标SQL在当前的情形下的最高效的执行路径,也就是为了得到目标SQL的最佳执行计划。依据所选择执行计划时所用的判断原则,oracle数据库里的优化器又分为RBO(基于原则的优化器)和C            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-08-06 16:16:44
                            
                                572阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            (1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):
    ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection tab            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2010-11-09 20:32:33
                            
                                404阅读