数据库之Oracle优化技巧(二)】的更多相关文章

数据库之Oracle优化技巧(一) 1.where子句中的连接顺序 在Oracle数据库中,where子句的执行顺序是自下而上进行解析,根据这个原理,表之间的连接必须写在其他where条件之前,那些可以过滤掉最大数量记录的条件必 须写在where子句的末尾. 2.select子句中避免使用 ‘ * ‘(开发中禁止使用*) oracle在解析的过程中,会将'*' 依次转换成所有的列名,这个工作是通过查询数据字典完成的,这意味着将耗费更多的时间. 3.用truncate替代delete 当删除表中的…
1.通过内部函数提高 SQL 效率 复杂的 SQL 往往牺牲了执行效率. 能够掌握上面的运用函数解决问题的方法在实际 工作中是非常有意义的 . 2.使用表的别名(Alias) 当在 SQL 语句中连接多个表时, 请使用表的别名并把别名前缀于每个 column 上.这样一来,就可以减少解析的时间并减少那些由 column 歧义引起的语法错误. 3.用 exists替代 in.用 not exists 替代not in  在许多基于基础表的查询中,为了满足一个条件,往往需要对另一个表进行联接,在这种…
SQL优化原则 二.SQL语句编写注意问题 www.2cto.com 下面就某些SQL语句的where子句编写中需要注意的问题作详细介绍.在这些where子句中,即使某些列存在索引,但是由于编写了劣质的SQL,系统在运行该SQL语句时也不能使用该索引,而同样使用全表扫描,这就造成了响应速度的极大降低. 1. IS NULL 与 IS NOT NULL 不能用null作索引,任何包含null值的列都将不会被包含在索引中.即使索引有多列这样的情况下,只要这些列中有一列含有null,该列就会从索引中排…
现观察线上系统运行发现,线上某些业务查询存在等待时间长问题,后核查发现,部分问题出现在对数据库操作上Cost大部分时间,后根据网上各位前辈提供的优化技巧解决大部分问题,现写下本篇文章,一来巩固加深自己学习的优化技巧,二来方便正在为sql优化迷茫的猿友们提供一下思路和方法,共同进步,一起成长~ 1.现状描述 sql执行时间长.数据查询慢 2.问题对象 sql执行语句(特别是多表多条件关联查询数据) 3.理论知识 1.Oracle优化器 Oracle优化器:Oracle数据库中的优化器又叫查询优化器…
1.关于exists和in in是循环的方式,在内存中处理, exists是执行数据库查询, select tpd.personaccountid,sum(nvl(tpd.CREDIT_SUM, 0)) as bjsr, sum(nvl(tpd.INTEREST_INCOME, 0)) as bjsr, sum(nvl(tpd.DEBIT_SUM, 0)) as bjzc from TGP_PERSON_DETAIL tpd left join TAP_FUNDBUSINESS tfb on t…
来自: http://woainichenxueming.iteye.com/blog/726541 一. 优化oracle中的sql语句,提高运行效率 1. 选择最有效率的表名顺序(只在基于规则的优化器中有效) ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名, FROM子句中写在最后的表(基础表 driving table)将被最先处理, 在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表. 如: 表T_USER有16384条记录, 表T_DEPARTME…
http://wenku.baidu.com/link?url=liS0_3fAyX2uXF5MAEQxMOj3YIY4UCcQM4gPfPzHfFcHBXuJTE8rANrwu6GXwdzbmvdVkWA66z9KOaFu6O_0PrhWxCEUd4ECYzqC7QL82hq Oracle_SQL调优整理 http://wenku.baidu.com/link?url=22Ckwm6xY-eXhshqSaSBQKzsWMzfkrcdRVP5vWFGPbvv4TF1NPb6gj7ul2eIBDe…
Select语句完整的执行顺序: SQL Select语句完整的执行顺序: 1. from子句组装来自不同数据源的数据: 2.where子句基于指定的条件对记录行进行筛选: 3.group by子句将数据划分为多个分组: 4.使用聚集函数进行计算: 5.使用having子句筛选分组: 6.计算所有的表达式: 7. 使用order by对结果集进行排序 性能优化技巧 Oracle SQL 性能优化技巧 1.选用适合的ORACLE优化器      ORACLE的优化器共有3种 A.RULE (基于规…
特别说明: 1.  本文只是面对数据库应用开发的程序员,不适合专业DBA,DBA在数据库性能优化方面需要了解更多的知识: 2.  本文许多示例及概念是基于Oracle数据库描述,对于其它关系型数据库也可以参考,但许多观点不适合于KV数据库或内存数据库或者是基于SSD技术的数据库: 3.  本文未深入数据库优化中最核心的执行计划分析技术. 读者对像: 开发人员:如果你是做数据库开发,那本文的内容非常适合,因为本文是从程序员的角度来谈数据库性能优化. 架构师:如果你已经是数据库应用的架构师,那本文的…
1. 原始单据与实体之间的关系 可以是一对一.一对多.多对多的关系.在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体.在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体.这里的实体可以理解为基本表.明确这种对应关系后,对我们设计录入界面大有好处. [例1]:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工基本情况表.社会关系表.工作简历表.这就是“一张原始单证对应多个实体”的典型例子.2. 主键与外键 一般而言,…