摘要: 数据表的连接有:1、内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现2、外连接: 包括(1)左外连接(左边的表不加限制)(2)右外连接(右边的表不加限制)(3)全外连接(左右两表都不加限制)3、自连接(连接发生在一张基表内)以上语句是右连接:即”(+)”所在位置的另一侧为连接的方向... 阅读全文
posted @ 2012-06-14 13:55 刘竹青 阅读(815) 评论(0) 推荐(0) 编辑
摘要: 数据表的连接有:1、内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现2、外连接: 包括(1)左外连接(左边的表不加限制)(2)右外连接(右边的表不加限制)(3)全外连接(左右两表都不加限制)3、自连接(连接发生在一张基表内)以上语句是右连接:即”(+)”所在位置的另一侧为连接的方向... 阅读全文
posted @ 2012-06-14 13:55 刘竹青 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 一、SQL 语句转换 试探查询转换1、视图合并例子:简单视图合并优化前:create view test_view asselect ename,dname,salfrom emp e,dept dwhere e.deptno = d.deptno;select ename,dname fro... 阅读全文
posted @ 2012-06-14 10:22 刘竹青 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 一、SQL 语句转换 试探查询转换1、视图合并例子:简单视图合并优化前:create view test_view asselect ename,dname,salfrom emp e,dept dwhere e.deptno = d.deptno;select ename,dname fro... 阅读全文
posted @ 2012-06-14 10:22 刘竹青 阅读(358) 评论(0) 推荐(0) 编辑
摘要: 在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见OracleHint的用法: 1.表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.例如:SELECT EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHEREEMP_... 阅读全文
posted @ 2012-06-14 10:15 刘竹青 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见OracleHint的用法: 1.表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.例如:SELECT EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHEREEMP_... 阅读全文
posted @ 2012-06-14 10:15 刘竹青 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 1 前言客服业务受到SQL语句的影响非常大,在规模比较大的局点,往往因为一个小的SQL语句不够优化,导致数据库性能急剧下降,小型机idle所剩无几,应用服务器断连、超时,严重影响业务的正常运行。因此,称低效的SQL语句为客服业务的‘恶龙’并不过分。数据库的优化方法有很多种,在应用层来说,主... 阅读全文
posted @ 2012-06-14 10:12 刘竹青 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 1 前言客服业务受到SQL语句的影响非常大,在规模比较大的局点,往往因为一个小的SQL语句不够优化,导致数据库性能急剧下降,小型机idle所剩无几,应用服务器断连、超时,严重影响业务的正常运行。因此,称低效的SQL语句为客服业务的‘恶龙’并不过分。数据库的优化方法有很多种,在应用层来说,主... 阅读全文
posted @ 2012-06-14 10:12 刘竹青 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 我们都了解索引是相关表概念部分,主要是提高检索数据的相关效率,当Oracle使用了较为复杂的自平衡B-tree结构时。我们一般是通过索引查询数据比全表扫描要快。当Oracle找出执行查询和Update语句的最好路径时,Oracle优化将使用索引。同样在联结多个表时使用索引也能够提高效率。另一个... 阅读全文
posted @ 2012-06-14 10:08 刘竹青 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 1.全表扫描和索引扫描 大数据量表尽量要避免全表扫描,全部扫描会按顺序每条记录扫描,对于>100万数据表影响很大。 Oracle中通过RowID访问数据是最快的方式 对字段进行函数转换,或者前模糊查询都会导致无法应用索引而进行全表扫描 对Oracle共享池和缓冲区中的Sql必须要大小写... 阅读全文
posted @ 2012-06-14 10:07 刘竹青 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 1.全表扫描和索引扫描 大数据量表尽量要避免全表扫描,全部扫描会按顺序每条记录扫描,对于>100万数据表影响很大。 Oracle中通过RowID访问数据是最快的方式 对字段进行函数转换,或者前模糊查询都会导致无法应用索引而进行全表扫描 对Oracle共享池和缓冲区中的Sql必须要大小写... 阅读全文
posted @ 2012-06-14 10:07 刘竹青 阅读(144) 评论(0) 推荐(0) 编辑
摘要: Group by的语法Select [filed1,fild2,]聚合函数(filed),[Grouping(filed),][Grouping_id(filed1,filed2,…)]From tablenameWhere condition[Group by {rollup|cube}(f... 阅读全文
posted @ 2012-06-14 10:02 刘竹青 阅读(1114) 评论(0) 推荐(1) 编辑
摘要: 2. 选择最有效率的表名顺序(只在基于规则的优化器中有效)ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,因此FROM子句中写在最后的表(基础表 drivingtable)将被最先处理. 在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表.当ORACLE处... 阅读全文
posted @ 2012-06-14 09:54 刘竹青 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 2. 选择最有效率的表名顺序(只在基于规则的优化器中有效)ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,因此FROM子句中写在最后的表(基础表 drivingtable)将被最先处理. 在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表.当ORACLE处... 阅读全文
posted @ 2012-06-14 09:54 刘竹青 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 1、用EXISTS替代IN,NOT EXISTS替代NOT IN: 在子查询中,NOT在许多基于基础表的查询中,为了满足一个条件,往往需要对另一个表进行联接.在这种情况下, 使用EXISTS(或NOTEXISTS)通常将提高查询的效率. SELECT * FROMEMP (基础表) WHER... 阅读全文
posted @ 2012-06-14 09:49 刘竹青 阅读(154) 评论(0) 推荐(0) 编辑
摘要: Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用。分页查询格式:SELECT * FROM(SELECT A.*, ROWNUM RNFROM (SELECT * FROM TABLE_NAME) AWHERE ROWNUM = 21其中最内层的查询SELECT * FROM ... 阅读全文
posted @ 2012-06-14 09:42 刘竹青 阅读(110) 评论(0) 推荐(0) 编辑
摘要: Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用。分页查询格式:SELECT * FROM(SELECT A.*, ROWNUM RNFROM (SELECT * FROM TABLE_NAME) AWHERE ROWNUM = 21其中最内层的查询SELECT * FROM ... 阅读全文
posted @ 2012-06-14 09:42 刘竹青 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 在select 语句中可以使用group by 子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。group by 子句可以将查询结果分组,并返回行的汇总信息Oracle 按照group by 子句中指定的表达式的值分组查询结果。... 阅读全文
posted @ 2012-06-14 09:40 刘竹青 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 1。已经检验的语句和已在共享池中的语句之间要完全一样 2。变量名称尽量一致 3。合理使用外联接 4。少用多层嵌套 5。多用并发 语句的优化步骤一般有: 1。调整sga区,使得sga区的是用最优。 2。sql语句本身的优化,工具有explain,sql trace等 3。数据... 阅读全文
posted @ 2012-06-14 09:38 刘竹青 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 1。已经检验的语句和已在共享池中的语句之间要完全一样 2。变量名称尽量一致 3。合理使用外联接 4。少用多层嵌套 5。多用并发 语句的优化步骤一般有: 1。调整sga区,使得sga区的是用最优。 2。sql语句本身的优化,工具有explain,sql trace等 3。数据... 阅读全文
posted @ 2012-06-14 09:38 刘竹青 阅读(135) 评论(0) 推荐(0) 编辑