我经常看到一些人在问,有没有优化的书啊?当然,如果你是开发人员或者是应用人员,你所说的优化,如果我没理解错的话,应该是SQL语句优化。其实对于这个问题,我想简答的说几句,所谓优化,以我的理解,分道和术两个层面:术:是实现方法道:是理论思想就好比武侠小说《笑傲江湖》中的华山派的剑宗、气宗之争。先来说术对于初学来说,可能对术更感兴趣,因为当你掌握了SQL语句的基本语法之后
原创 2013-07-31 10:20:01
714阅读
1点赞
(1)      选择最有效率的表名顺序( 只在基于规则的优化器中有效 ) :ORACLE的解析器按照从右到左的顺序处理 FROM子句中的表名, FROM 子句中写在最后的表 ( 基础表driving table) 将被最先处理,在FROM 子句中
转载 2022-08-04 23:13:06
127阅读
Oracle SQL 语句优化 第1章 模块功能概要描述 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL 语句,复杂视图的的 编写等体会不出SQL 语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着 数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优 化中一个很重要的方面就是SQL 语句优化。对于海量数据,劣质SQL 语句和优质
转载 精选 2011-11-27 18:52:17
1805阅读
项目中尽管使用了orm映射,但Oracle系统的优化还是非常有价值的,这里从sql语句的角度对经常使用的语句做下总结。 1、from字段中的优化Oracle安照从右到左的顺序载入表数据,应该把能够排除数据最多的表放到后面(基础表)。 比方。在关联查询中。把课程表放到后面。成绩表放到前面。由于课程
转载 2018-01-22 13:10:00
130阅读
2评论
1.select查询避免使用*,尽量使用具体的列,不然oracle解析会将'*' 依次转换成所有的列名。2用Where子句替换HAVING子句.用Where子句替换having子句 用WHERE替代ORDER BY  ORDER BY 子句只在两种严格的条件下使用索引.  ORDER BY中所有的列必须包含在相同的索引中并保持在索引中的排列顺序.  
原创 2023-04-23 10:21:10
293阅读
今天是四月份最后一天的上班时间,明天就开始假期了!~三天!希望自己能利用这几天好好补一补专业知识,今天晚上开始学习SQL优化课程!常规优化1:尽量避免使用* 列出所有列,因为系统对*解析成列明会消耗一定时间,从而使得SQL变慢2:TRUNCATE代替DELETE;当数据确定不要的时候,用TRUNCATE代替DELETE会更快,他不会讲数据放到撤销表空间,当然,用TRUNCATE就无法使用rollb
原创 2016-04-30 00:21:53
756阅读
(01)选择最有效率的表名顺序(笔试常考)       ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,       FROM子句中写在最后的表将被最先处理,      在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表放在最后,    &n
原创 2016-09-12 00:25:11
507阅读
操作环境:AIX +11g+PLSQL包含以下内容: 1.  SQL语句执行过程2.  优化器及执行计划3.  合理应用Hints4.  索引及应用实例5.   其他优化技术及应用 1.SQL语句执行过程1.1 SQL语句的执行步骤   1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义。  2)语义分析,检查语句中涉及的所有数据...
转载 2021-08-09 22:44:03
318阅读
操作环境:AIX +11g+PLSQL包含以下内容: 1.  SQL语句执行过程2.  优化器及执行计划3.  合理应用Hints4.  索引及应用实
转载 2022-04-11 17:50:36
587阅读
1点赞
一.SQL语言的使用 1.IN 操作符 用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格。 但是用IN的SQL性能总是比较低的,从ORACLE执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别: ORACLE试图将其转换成多个表的连接,如果转换不成功则先执行IN里面的子查询,再查询外层的表记录,如果转换成功则直
转载 精选 2011-09-27 11:41:17
413阅读
现总结一下在SQL优化过程中常见OracleHINT的用法: 1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化...
转载 2014-11-08 14:12:00
292阅读
2评论
2. 选择最有效率的表名顺序(只在基于规则的优化器中有效)ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,因此FROM子句中写在最后的表(基础表 drivingtable)将被最先处理. 在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表.当ORACLE处...
转载 2012-06-14 09:54:00
162阅读
2评论
操作符优化: IN 操作符     用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格。     但是用IN的SQL性能总是比较低的,从ORACLE执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别:     ORACLE试图将其转换成多个表的连接,如果转换不成功
转载 精选 2012-03-27 11:33:43
767阅读
2. 选择最有效率的表名顺序(只在基于规则的优化器中有效)ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,因此FROM子句中写在最后的表(基础表 drivingtable)将被最先处理. 在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表.当ORACLE处...
转载 2012-06-14 09:54:00
110阅读
2评论
 操作符优化:  IN 操作符     用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格。     但是用IN的SQL性能总是比较低的,从ORACLE执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别:     O
转载 精选 2012-03-27 20:50:01
527阅读
子句中避免使用 ‘ * ‘(4) 减少访问get='_blank'>数据库的次数(5) 在SQL*Plus , SQL*Forms和Pro*C中重新设置ARRAYSIZE参数, 可以增加每次get='_bl...
原创 2023-04-02 15:02:13
216阅读
操作符优化 IN 操作符 用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格。 但是用IN的SQL性能总是比较低的,从ORACLE执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别: ORACLE试图将其转换成多个表的连接,如果转换不成功则先执行IN里面的子查询,再查...
原创 2021-07-21 11:53:41
168阅读
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t wh
转载 2016-09-23 09:19:00
134阅读
2评论
1. /*+ALL_ROWS*/   表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.   例如:   SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='CCBZZP';2. /*+FIRST_ROWS*/  &n
转载 精选 2014-12-23 16:43:20
825阅读
本人初学oracle数据库,总结一些自己的学习成果与大家分享,通过自己的学习微博会一直维护,希望大家喜欢。
原创 2017-02-22 14:48:49
571阅读
1点赞
  • 1
  • 2
  • 3
  • 4
  • 5