1.表名顺序:不影响业务逻辑情况下,一般情况下大表在左,小表在右;三表以上出现交叉表,则交叉表在前。2.WHERE子句顺序:执行顺序ORACLE由右到左,效率基本相同;3.JOIN表的右表条件尽量写在ON中,不要在WHERE之后(注:使用左连接两者是有区别的);4.多个大表的JOIN尽量先分页再连接...
分类:
数据库 时间:
2014-09-30 11:56:29
阅读次数:
247
--Q3;1.1执行计划EXPLAINEXTENDEDSELECTL_ORDERKEY,SUM(L_EXTENDEDPRICE*(1-L_DISCOUNT))ASREVENUE,O_ORDERDATE,O_SHIPPRIORITYFROMCUSTOMER,ORDERS,LINEITEMWHEREC_MKTSEGMENT=‘BUILDING‘ANDC_CUSTKEY=O_CUSTKEYANDL_ORDERKEY=O_ORDERKEYANDO_ORDERDATE<DATE‘1995-03-15‘AN..
分类:
数据库 时间:
2014-09-28 18:38:46
阅读次数:
352
2014-09-25 BaoXinjian一、摘要1. Oracle优化器介绍本文讲述了Oracle优化器的概念、工作原理和使用方法,兼顾了Oracle8i、9i以及最新的10g三个版本。理解本文将有助于您更好的更有效的进行SQL优化工作。2. RBO优化器RBO是一种基于规则的优化器,随着CBO优...
分类:
数据库 时间:
2014-09-28 14:33:13
阅读次数:
637
如果要分析某条SQL的性能问题,通常我们要先看SQL的执行计划,看看SQL的每一步执行是否存在问题。如果一条SQL平时执行的好好的,却有一天突然性能很差,如果排除了系统资源和阻塞的原因,那么基本可以断定是执行计划出了问题。看懂执行计划也就成了SQL优化的先决条件。这里的SQL优化指的是SQL性能问题...
分类:
数据库 时间:
2014-09-27 02:42:49
阅读次数:
318
2014-09-25 BaoXinjian一、摘要1. Oracle优化器介绍本文讲述了Oracle优化器的概念、工作原理和使用方法,兼顾了Oracle8i、9i以及最新的10g三个版本。理解本文将有助于您更好的更有效的进行SQL优化工作。2. RBO优化器RBO是一种基于规则的优化器,随着CBO优...
分类:
数据库 时间:
2014-09-25 14:19:19
阅读次数:
288
一、问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用 系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重要的方面就是SQL语句的优....
分类:
数据库 时间:
2014-09-25 14:10:29
阅读次数:
310
使用sql profile稳定SQL执行计划的使用示例...
分类:
数据库 时间:
2014-09-18 19:03:44
阅读次数:
342
当我们在对生产库做优化的时候,主要就是对SQL语句的优化,包括语句的等价改写等,但其中很大一部分情况,又与索引有关。如果能合理利用合适的索引,可以使原本走全表扫描产生的逻辑读大大降低,提高数据库的性能。由于Oracle数据库中的索引本身就要占用磁盘空间,维护索引需要一定的开销,如何才能知道创建某个索引,会给数据带来性能的提升,而又不至于判断失误,创建了一个不恰当的索引,最后又不得不删除呢?这种情况...
分类:
数据库 时间:
2014-09-17 03:39:01
阅读次数:
426
数据库性能优化
相关书籍:
1.基于成本的Oracle优化法则
2.Oracle性能诊断艺术
3.基于Oracle的SQL优化
-----------------------------------------------------------------------------------------
两种优化器:
CBO cost-ba...
分类:
数据库 时间:
2014-09-16 23:49:41
阅读次数:
567
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is nul...
分类:
数据库 时间:
2014-09-16 08:06:00
阅读次数:
229