Oracle 性能优化
cunxiyuan108
这个作者很懒,什么都没留下…
展开
-
alter index rebuild 效率分析
原来是table和index建立在同一个tablespace,准备将index单独放在一个tablespace,与table分开。测试:A: rebuild 时间:3.63 minalter index FWEQPHISTORY_EN_TXN rebuild tablespace liteonindex; B: drop and new reate 时间:5.55 min转载 2014-01-03 16:13:50 · 2622 阅读 · 0 评论 -
alter index rebuild & alter index rebuild online
alter index rebuild与alter index rebuild online的扫描方式是不一样的。可以举个简单的例子来说明:SQL>create table sjh.test as select * from dba_users; --建一个测试表SQL> explain plan for 2 alter index test_idx rebuild;Expl转载 2014-01-03 16:13:11 · 1001 阅读 · 0 评论 -
批量SQL之 BULK COLLECT 子句
BULK COLLECT 子句会批量检索结果,即一次性将结果集绑定到一个集合变量中,并从SQL引擎发送到PL/SQL引擎。通常可以在SELECT INTO、FETCH INTO以及RETURNING INTO子句中使用BULK COLLECT。本文将逐一描述BULK COLLECT在这几种情形下的用法。 有关FORALL语句的用法请参考:批量SQL之 FORALL 语句 一、转载 2013-12-24 21:20:55 · 1026 阅读 · 0 评论 -
ORACLE 动态执行SQL语句
Oracle 动态SQLOracle 动态SQL有两种写法:用 DBMS_SQL 或 execute immediate,建议使用后者。试验步骤如下:1. DDL 和 DMLSql代码 /*** DDL ***/ begin EXECUTE IMMEDIATE 'drop table temp_1'; EXECUTE IMMEDIAT转载 2013-12-24 21:31:46 · 1647 阅读 · 0 评论 -
ORACLE的并行技术
Oracle并行FAQ关于Oracle并行的一些简单小结。Ø 什么是并行?并行是Oracle为了提高大数据量的运算效率而提供多进程协作技术,它可以让多个CPU同时处理一个计算任务,充分使用系统资源,提高计算效率。Ø 什么操作支持并行?大部分的DML(insert/update/delete/merge)、DDL、Query都支持并行操作。Ø 什么情况下需要启用并行?并不转载 2013-12-24 21:45:37 · 1770 阅读 · 0 评论 -
ORACLE批量绑定FORALL与BULK COLLECT
FORALL与BULK COLLECT的使用方法: 1.使用FORALL比FOR效率高,因为前者只切换一次上下文,而后者将是在循环次数一样多个上下文间切换。 2.使用BLUK COLLECT一次取出一个数据集合,比用游标条取数据效率高,尤其是在网络不大好的情况下。但BLUK COLLECT需要大量内存。 例子: Sql代码 create tab转载 2013-09-07 18:04:42 · 1274 阅读 · 0 评论 -
使用dbms_profiler包测试存储过程性能
dbms_profiler用来测试PL/SQL代码非常有用,比如找出哪一段代码比较耗时,也可以用来比较不同算法之间的差异。也得到了一些第三方工具的支持,如PLSQL DEVELOPER。1、安装1.1、以sys用户创建dbms_profiler包SQL> conn /as sysdbaSQL> desc dbms_profiler --先确信dbms_prof转载 2014-01-09 14:13:53 · 1295 阅读 · 0 评论