随笔分类 - sql优化
sql优化
摘要:Oracle 生成和显示执行计划的方法 分类: Oracle 执行计划 2013-03-02 08:39 264人阅读 评论(0) 收藏 举报Oracle 生成和显示执行计划的方法生成执行计划一条合法的语句在执行之后,就会在内存中至少产生一条执行计划,可以从视图v$sql_plan查询。每一条执行计划对于一个游标。一条语句生产的第一个游标的CHILD_NUMBER(即v$sql_plan中的CHILD_NUMBER)为0,同一条sql语句可能因为环境或版本等其他因素不同而产生不同的执行计划,也就是说一条sql可能有多个CHILD_NUMBER。除执行过的sql会在内存中生成执行计划外,还可以通
阅读全文
摘要:select dbms_lob.substr(a.SQL_FULLTEXT) from v$sql a where sql_id ='fdsfd'
阅读全文
摘要:比如SQL_ID为g97cnrayku9xw,SQL>select address from v$sql where sql_id='g97cnrayku9xw';ADDRESS----------------000000077BE8EE68SQL>select username,osuser,machine,program from v$session where prev_sql_addr='000000077BE8EE68';或者SQL>select username,osuser,machine,program from v$sessi
阅读全文
摘要:Oracle聚簇表介绍详细请参考:http://www.codesky.net/article/201007/167540.html一:首先介绍一下索引聚簇表的工作原理: 聚簇是指:如果一组表有一些共同的列,则将这样一组表存储在相同的数据库块中;聚簇还表示把相关的数据存储在同一个块上。利用聚簇,一个块可能包含多个表 的数据。概念上就是如果两个或多个表经常做链接操作,那么可以把需要的数据预先存储在一起。聚簇还可以用于单个表,可以按某个列将数据分组存储。 更加简单的说,比如说,EMP表和DEPT表,这两个表存储在不同的segment中,甚至有可能存储在不同的TABLESPACE中,因此,他们的..
阅读全文
摘要:直方图概述直方图是一种统计学上的工具,并非Oracle专有,通常情况下它会表现为一种几何图形表,这个图形表是根据从实际环境中所收集来的被管理对象某个方面的质量分布情况的数据所绘制成的,通常会画成以数量为底边,以频度为高度的一系列连接起来的矩形图,因此直方图在统计学上也称为质量分布图。在Oracle中直方图是一种对数据分布质量情况进行描述的工具。它会按照某一列不同值出现数量多少,以及出现的频率高低来绘制数据的分布情况,以便能够指导优化器根据数据的分布做出正确的选择。在某些情况下,表的列中的数值分布将会影响优化器使用索引还是执行全表扫描的决策。当where 子句的值具有不成比例数量的数值时,将出现
阅读全文
摘要:Oracle提高查询效率的解析原文出自【比特网】,转载请保留原文链接:http://soft.chinabyte.com/database/316/12292816.shtml在一个数据库中进行操作的时候,效率是很重要的,那么,如何提高oracle的查询效率呢?笔者将从以下几个方面进行详细解析: 1、选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接..
阅读全文
摘要:如何降低索引的clustering_factor 2012-06-08 22:40:19分类: Oracle环境:OS:Red Hat Linux As 5DB:10.2.0.4我们知道判断一个索引的好坏可以通过该索引的clustering_factor高低来衡量,clustering_factor越低,索引的使用效果就越好,那怎么样才能降低索引的clustering_factor呢,通常使用的方法是让表的索引字段值按顺序存储,下面通过一个例子说明.1.创建表并构造无序的数据create table scott.tb_index_test( id number not null, name v
阅读全文