专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅
="t18">   Oracle SQL运行时间最主要组成部分是花在为执行预备新SQL语句上时间不过假如了解了可执行计划产生内在机制你就可以控制Oracle花费在评估表连接顺序时间并在总体上提高查询性能    预备为执行提供SQL语句       在个SQL语句进入Oracle库cache的后、而真正被执 [阅读全文] [PDF]
  1. 选用适合ORACLE优化器   ORACLE优化器共有3种:   a. RULE (基于规则) b. COST (基于成本) c. CHOOSE (选择性)   设置缺省优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖.   为了使用基于成本优化器(CBO, Cost-Based Optimizer) , 你必须经常运行analyze 命令,以增加数据库中对象统计信息(object sta [阅读全文] [PDF]
1。已经检验的语句和已在共享池中的语句之间要完全一样2。变量名称尽量一致3。合理使用外联接4。少用多层嵌套5。多用并发语句的优化步骤一般有:1。调整sga区,使得sga区的是用最优。2。sql语句本身的优化,工具有explain,sql trace等3。数据库结构调整4。项目结构调整写语句的经验:1。对于大表的查询使用索引2、少用in,exist等3、使用集合运算1.对于大表查询中的列应尽量避免进行诸如  To_char,to_date,to_number  等转换2.有索引的尽量用索引,有用到索引的条件写在前面  如有可能和有必要就建立一些索引 3.尽量 [阅读全文] [PDF]
27. 基础表的选择基础表(Driving Table)是指被最先访问的表(通常以全表扫描的方式被访问). 根据优化器的不同, SQL语句中基础表的选择是不一样的.如果你使用的是CBO (COST BASED OPTIMIZER),优化器会检查SQL语句中的每个表的物理大小,索引的状态,然后选用花费最低的执行路径.如果你用RBO (RULE BASED OPTIMIZER) , 并且所有的连接条件都有索引对应, 在这种情况下, 基础表就是FROM 子句中列在最后的那个表.举例: SELECT A.NAME , B.MANAGER FROM WORKER A [阅读全文] [PDF]
本文的目的:1、说一说Oracle的Optimizer及其相关的一些知识。2、回答一下为什么有时一个表的某个字段明明有索引,当观察一些SQL的执行计划时,发现确不走索引的问题。3、如果你对 FIRST_ROWS、 ALL_ROWS这两种模式有疑惑时也可以看一下这篇文章。开始吧:Oracle在执行一个SQL之前,首先要分析一下语句的执行计划,然后再按执行计划去执行。分析语句的执行计划的工作是由优化器(Optimizer)来完成的。不同的情况,一条SQL可能有多种执行计划,但在某一时点,一定只有一种执行计划是最优的,花费时间是最少的。相信你一定会用Pl/sql [阅读全文] [PDF]
20. 用表连接替换EXISTS 通常来说 , 采用表连接的方式比EXISTS更有效率 SELECT ENAME FROM EMP E WHERE EXISTS (SELECT ‘X’ FROM DEPT WHERE DEPT_NO = E.DEPT_NO AND DEPT_CAT = ‘A’); (更高效) SELECT ENAME FROM DEPT D,EMP E WHERE E.DEPT_NO = D.DEPT_NO AND DEPT_CAT = ‘A’ ;(译者按 [阅读全文] [PDF]
  在日常的业务系统应用中,大家经常会使用到大量数据的的提交(包括查询、更新或删除),假如目标数据库的数据量较大,一次需要处理的操作较多,就会出现系统执行效率低下等问题。文本中笔者以Oracle9i数据库为例,通过对ADO.Net中的数据库支持的应用实践,说明几种常见的优化处理方法,并对比其中的优劣。   为了更详细说明情况,笔者以某业务数据填报功能为例,假设有100个用户每周需要填报某统计数量,填报明细的数据量约为200条,有专门的填报页面实现一次提交,这样一周的数据增量约为2万,一年为100多万,要保证系统有效运行6年以上,需要考虑数据存储(增、删、改)效率问 [阅读全文] [PDF]
1 共7条 分1页