随笔分类 -  Oracle Performance

Oracle 碎片 优化 一例
摘要:说明:这个例子转自老白的DBA日记 刚刚坐下,电话就响了,一个客户打过来的,说是碰到一个很奇怪的问题。在一张上千万记录的大表里,做一个SELECT * FROM <TAB_NAME> WHERE ROWNUM<100,居然十多秒钟才出来。我问他这张表是不是碎片很厉害,他所不可能有碎片,昨天才IMP进去的,昨天还没问题,今天就出问题了。而且这张是话单表,不可能会做删除操作的,不会有碎片。我让他马上做个10046发过来。--相关知识点参考:OracleSQLTrace 和 10046事件http://blog.csdn.net/tianlesoftware/article/det 阅读全文

posted @ 2012-02-09 19:21 生活不是用来挥霍的

Oracle PL/SQL 优化与调整 – PL/SQL Native Compilation 说明
摘要:一.相关概述在之前的Bulk的那篇blog里提到了Oracle 的2个引擎:PL/SQL 引擎和SQL 引擎。Oracle PL/SQL 优化与调整 -- Bulk 说明http://blog.csdn.net/tianlesoftware/article/details/6578351 Oracle使用2个引擎来执行SQL和代码块:SQL引擎和PL/SQL引擎,Oracle使用这2个引擎来执行PL/SQL blocks和subprograms。那么在执行的时候,PL/SQL引擎把DML语句发送给SQL引擎,然后由SQL引擎执行,执行完毕后,SQL引擎把结果集在发送给PL/SQL引擎。因此在不 阅读全文

posted @ 2011-12-23 22:05 生活不是用来挥霍的

[置顶] Oracle SQL优化 总结
摘要:之前的blog中零零散散的整理了一些优化相关的内容,找起来比较麻烦,所以总结一下,查看的时候方便一点。这篇BLog只看SQL 优化的相关的注意事项,数据库优化部分以后有空在整理。SQL 的优化主要涉及几个方面: (1) 相关的统计信息缺失或者不准确 (2) 索引问题 (3) SQL 的本身的效率问题,比如使用绑定变量,批量DML 采用bulk等,这个就考验写SQL的基本功了,这一点也是最主要的一点。 一.SQL 编写注意事项1.1 查看SQL对于生产环境上的SQL,可以从AWR 或者 Statspack 报告中获取相关的SQL 信息。 这部分参考:Oracle AWR 介绍http://bl. 阅读全文

posted @ 2011-11-24 17:05 生活不是用来挥霍的

Oracle 10.2.0.5.4 Patch Set Update (PSU) – Patch No: p12419392
摘要:有关Oracle patch和PSU,PSR 说明参考我的blog:Oracle 补丁体系 及opatch 工具 介绍http://blog.csdn.net/tianlesoftware/article/details/5809526Oracle 10g 最新的版本是10.2.0.5.4. 其中的5是PSR 版本号,4是PSU版本号。MOS 上的2篇文档:10.2.0.5 PatchSet - Availability and Known Issues [ID 1087991.1]Bug 12419392 -10.2.0.5.4 Patch Set Update (PSU) [ID 1241 阅读全文

posted @ 2011-09-21 14:09 生活不是用来挥霍的

Oracle SQL Parsing Flow Diagram(SQL 解析流程图)
摘要:在MOS 上有一篇介绍SQL 解析流程图的文档,参考[ID32895.1]。 截取主要部分内容如下: Thisarticle show the parsing mechanism as a flow diagram. Its main purpose is toshow the difference between a 'soft' and a 'hard' parse. It is intended to givea feel of how parsing operates to make explanation of parsing activity eas 阅读全文

posted @ 2011-07-22 13:56 生活不是用来挥霍的

Oracle PL/SQL 优化与调整 -- Bulk 说明
摘要:一. Bulk 概述 本来只想测试一下Bulk Collect 和update性能的,但发现Bulk 的东西还是很多的,在OTN上搜了一些,整理如下。 1.1 Bulk Binding 和 Bulk SQLFrom: http://download.oracle.com/docs/cd/E11882_01/appdev.112/e17125/adfns_packages.htm#ADFNS343 Oracle Database uses two engines to run PL/SQL blocks and subprograms. The PL/SQL engine runs proced 阅读全文

posted @ 2011-06-30 23:10 生活不是用来挥霍的

Oracle 利用 rowid 提升 update 性能
摘要:关于ROWID的介绍参考我的Blog: Oracle Rowid 介绍 http://blog.csdn.net/tianlesoftware/archive/2009/12/16/5020718.aspx关于大表Update 的一个讨论,参考itpub: http://www.itpub.net/viewthread.php?tid=1052077一. 在虚拟机上 使用rowid 进行update 测试 使用rowid 进行update能提高速度,是因为通过rowid 能够迅速的进行定位,不用全表进行扫描。-- 查看表dave 记录数SYS@dave2(db2)> select cou 阅读全文

posted @ 2011-06-30 00:34 生活不是用来挥霍的

Oracle 大规模 delete,update 操作 注意事项
摘要:一. 说明 如果对大表进行大规模的delete 和update,那么可以注意一下如下说明: (1) 查看执行计划,如果说删除的记录很多,走索引的成本会比全表扫描更大,因为更新数据时还需要做一些约束校验和创建index entry。而且对于多CPU 情况,全表扫描还可以使用并行的特性。 Oracle Parallel Execution(并行执行) http://blog.csdn.net/tianlesoftware/archive/2010/09/01/5854583.aspx (2)如果表上有索引,B-Tree 索引可以unusable索引,函数索引则disable 索引,等操作结束之后在 阅读全文

posted @ 2011-06-25 15:40 生活不是用来挥霍的