Oracle 运行效率/优化
文章平均质量分 66
長安只在旧夢中
天下由来多壮志,江山自古少忠魂。
展开
-
Oracle hint(查询优化) 之葵花宝典
在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle HINT的用法:1. /*+ALL_ROWS*/表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.例如:SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT';2. /*+FIRST_ROWS*/表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化.例如:SE转载 2022-04-07 10:29:32 · 662 阅读 · 0 评论 -
Oracle 中count(1) 、count(*) 和count(列名) 函数的区别
1)count(1)与count(*)比较:1、如果你的数据表没有主键,那么count(1)比count(*)快2、如果有主键的话,那主键(联合主键)作为count的条件也比count(*)要快3、如果你的表只有一个字段的话那count(*)就是最快的啦4、count(*) count(1) 两者比较。主要还是要count(1)所相对应的数据字段。5、如果count(1)是聚索引,id,那肯定是count(1)快。但是差的很小的。 因为count(*),自动会优化指定到那一个字段。所以没必要去.原创 2021-06-05 16:33:33 · 1523 阅读 · 0 评论 -
Oracle 11g R1下的自动内存管理(AMM)
<br /><br /><br />【tao6tao.com】Oracle在简化内存管理方面过去几年做了巨大的努力,从Oracle 9i通过PGA_AGGREGATE_TARGET参数实现PGA自动管理开始,Oracle 10g通过SGA_TARGET参数实现了SGA的自动管理,Oracle 11g更是惊人地实现了数据库所有内存块的全自动化管理,它使得动态管理SGA和PGA成为现实。<br />写本文时,自动内存管理(AMM)已经在主流平台上得到支持,包括Linux,Windows,Solaris,HP原创 2010-11-25 13:55:00 · 1602 阅读 · 0 评论 -
Oracle的优化器的 RBO和CBO 方式
1、基于规则的优化方式(Rule-Based Optimization,简称为RBO) 优化器在分析SQL语句时,所遵循的是Oracle内部预定的一些规则,对数据是不敏感的。它只借助少量的信息来决定一个sql语句的执行计划,包括:<br /> 1)sql语句本身<br /> 2)sql中涉及到的table、view、index等的基本信息<br /> 3)本地数据库中数据字典中的信息(远程数据库数据字典信息对RBO是无效的) 例如:我们常见的,当一个where子句中的一列原创 2010-11-26 20:37:00 · 564 阅读 · 1 评论 -
SQL语句优化方法30例
SQL语句优化方法30例 在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle Hint的用法: 1. /*+ALL_ROWS*/<br />表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化. <br />例如: <br />SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT'; <br /> 2. /*+FIRST_ROWS*/ <br />原创 2010-11-26 21:06:00 · 569 阅读 · 2 评论 -
ORACLE中查看执行计划
转载地址:http://hi.baidu.com/xyooo/blog/item/eba0dc1f40072967f624e49e.html 有三种方法: 1.Explain planexplain plan for select * from aa;查看结果:select * from table(dbms_xplan.display());原创 2011-06-18 21:13:00 · 655 阅读 · 0 评论 -
oracle执行计划与统计信息的一些总结
2010-07-01 15:031、SET AUTOTRACE ON EXPLAIN(set autot on exp)SQLPLUS的命令,在执行SQL语句的同时显示执行计划,设置EXP(LAIN)的目的是只显示执行计划而不显示统计信息.。2、SQL>explain plan for select ````````;SQL>select * from table(d原创 2011-06-22 16:27:00 · 775 阅读 · 0 评论 -
understand ORACLE执行计划
一、什么是执行计划An explain plan is a representation of the access path that is taken when a query is executed within Oracle.二、如何访问数据At the physical level Oracle reads blocks of data. The smallest amoun原创 2011-06-22 17:13:00 · 634 阅读 · 0 评论 -
使用SQL_TRACE进行数据库诊断
SQL_TRACE是Oracle提供的用于进行SQL跟踪的手段,是强有力的辅助诊断工具.在日常的数据库问题诊断和解决中,SQL_TRACE是非常常用的方法。本文就SQL_TRACE的使用作简单探讨,并通过具体案例对sql_trace的使用进行说明.一、 基础介绍原创 2011-09-01 17:54:26 · 464 阅读 · 0 评论 -
Oracle 高效率 SQL语句
转载【注:以下说的(低效)与(高效)都是相当来说的。】1、Where子句中的连接顺序: ORACLE采用自下而上的顺序解析WHERE子句。 根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾。举例: (低效) select ... from table1 t1 where t1.sal > 300 and t1.jobtype = '0001' and 20 (高效) select ... from table1 t1 where 20原创 2010-11-19 19:43:00 · 1311 阅读 · 2 评论 -
oracle实例内存(SGA和PGA)调整
<br />一、名词解释<br />(1)SGA:System Global Area是Oracle Instance的基本组成部分,在实例启动时分配;系统全局域SGA主要由三部分构成:共享池、数据缓冲区、日志缓冲区。 <br /><br />(2)共享池:Shared Pool用于缓存最近被执行的SQL语句和最近被使用的数据定义,主要包括:Library cache(共享SQL区)和Data dictionary cache(数据字典缓冲区)。 共享SQL区是存放用户SQL命令的区域,数据字典缓冲区存放原创 2010-11-12 09:55:00 · 662 阅读 · 0 评论 -
解析Oracle 8i/9i的计划稳定性
由Oralce8.1开始,Oracle增加了一个新的特性就是Stored Outlines,或者称为Plan <br />Stability(计划稳定性)。这个特性带来三个好处。首先,你可以优化开销很大的语句的处<br />理。第二,如果有一些语句Oracle需要花费长时间来优化(而不是执行),你可以节省时间并<br />且减少优化阶段的竞争。最后,它可以让你选择使用新的cursor_sharing参数而无需要担心因<br /> 要知道如何使用存储概要才是最优的,我们首先运行一些极度没有效率的SQL的存原创 2010-11-27 17:12:00 · 638 阅读 · 0 评论 -
使用OWI诊断Oracle性能问题
<br />1.查看常见的等待事件<br />select *<br /> from v$system_event<br /> where event in ('buffer busy waits', 'db file sequential read',<br /> 'db file scattered read', 'enqueue', 'free buffer waits',<br /> 'latch free', 'log file parallel write', 'l原创 2010-12-06 18:31:00 · 567 阅读 · 0 评论 -
Oracle 数据链路问题处理
b.收入项目 In ('心电图', '彩超费', '检验费', '理疗治疗', '放射费', '胃镜检查费', 'B超费', '手术费', '处置费', '处置治疗费', '抢救费', '监测费', '检查费', '诊疗费', '材料费') And。NewId(), t.执行部门ID, x.名称 部门姓名, t.开单人 医生姓名, t.开单部门id, b.收入项目 类别, t.姓名 病人姓名, b.编码, b.指标名称 收费细目, 登记时间, 门诊标志。原创 2010-12-03 21:34:00 · 1034 阅读 · 0 评论 -
Oracle优化器二十六个参数
<br /><br /><br /> Oracle还是比较常用的,于是我研究了一下Oracle优化器,在这里拿出来和大家分享一下,希望对大家有用。影响系统性能类可变参数。<br /> (1)CHECKPOINT_PROCESS该参数根据是否要求检查点而设置成TRUE或者FALSE。当所有缓冲区的信息写到磁盘时,检查点进程(CHPT)建立一个静态的点。在归档日志文件中做一个记号表示有一个检查点发生。检查点发生在归档日志转换的时候或当达到log_checkpoint_interval定义的块数的时候。当设置原创 2010-12-06 15:01:00 · 464 阅读 · 0 评论 -
Oracle 11G New SQL Hints大全
<br /><br /><br />心血来潮,准备写一篇所有11G新的SQL hint的整理性文章。<br />11G有了一个新的视图v$sql_hint,我们可以通过它找到所有的新的SQL hints。<br />故名思意,INVERSE列代表这个hint相反操作的hint,VERSION列代表着这个hint正式公布引入的版本。<br />(注意,VERSION并不代表这个hint从哪个版本开始可以使用。因为以下有些hint,例如INDEX_RS_ASC就在10G就可以用了。所以我认为,VERSION代表原创 2010-12-13 17:32:00 · 1490 阅读 · 0 评论 -
Oracle 增强型子查
<br />Oracle中的增强子查询优化<br /><br /><br />这篇文章是我偶然在asktom上看到的,当时有人问子查询合并(subquery coalescing),TOM给出了这篇文章的链接:<br />http://www.vldb.org/pvldb/2/vldb09-423.pdf<br /><br />我花了大约一周时间翻译,有很多术语找不到相关翻译就只好自己杜撰一个,根据自己的理解对一些难懂的地方做了注释。如果你发现了错误请不吝指正。<br />文中的例子非常值得一读,目前我没有原创 2010-12-15 11:17:00 · 847 阅读 · 0 评论 -
Oracle 执行计划
1,什么是执行计划所谓执行计划,顾名思义,就是对一个查询任务,做出一份怎样去完成任务的详细方案。举个生活中的例子,我从珠海要去英国,我可以选择先去香港然后转机,也可以先去北京转机,或者去广州也可以。但是到底怎样去英国划算,也就是我的费用最少,这是一件值得考究的事情。同样对于查询而言,我们提交的SQL仅仅是描述出了我们的目的地是英国,但至于怎么去,通常我们的SQL中是没有给出提示信息的,是由数据库来决定的。 我们先简单的看一个执行计划的对比: SQL> set autotrace traceonly 执原创 2010-10-25 15:19:00 · 548 阅读 · 0 评论 -
Oracle 性能优化
<br />Problem Description:<br />1.每个表的结构及主键索引情况<br />2.每个表的count(*)记录是多少<br />3.对于创建索引的列,索引的类型是什么?count(distinct indexcol)的值是多少?<br />4.最后一次对表进行分析是在什么时间,分析后,是否又对相关表做过大的操作<br />5.索引最后一次rebuild,是在什么时间,此后对表的操作类型又是什么状况?索引中浪费的空间是多少?<br />6.这些表的存储情况,表的存储参数,表空间的类原创 2010-10-25 15:40:00 · 627 阅读 · 0 评论 -
使用stored_outline优化、稳定执行计划
<br />SqlTuning2010-01-04 20:53:07阅读176评论0 字号:大中小 订阅<br />1、打开一个session,设置自动创建sql的stored_outline<br /> alter session set create_stored_outlines = demo;<br />2、抓取性能不好的sql,例如(假设nest loop 比较优):<br />SELECT /*+ use_hash(a,b)*/* FROM game_draw_stats_site_sa原创 2010-11-26 21:49:00 · 725 阅读 · 0 评论