
oracle性能优化
文章平均质量分 77
JasonTome
class Welcome To Myblog { public static void main(String[] args){ System.out.println(" I can changed the lives of others through technology and hard work!");}
展开
-
oracle高性能sql调整-笔记1
oracle是rdbms关系型数据库 关系型数据库的设计宗旨就是为了减少数据冗余。 sql调整的意义:对于那些每天都要执行上千次的查询来说,sql调整会大大提高数据库的性能,同时可以延长数据库服务器的硬件寿命。 sql调整的目标: 1、确保所有的sql语句在执行之前得到认可 因为书写sql语句的程序员的目标和进行sql调整的操作者目标有很大的不同。程序员考虑以最快的速度得到查询的正确结转载 2011-12-04 21:54:33 · 734 阅读 · 0 评论 -
Oracle 高水位(HWM: High Water Mark) 说明 .
一. 准备知识:ORACLE的逻辑存储管理. ORACLE在逻辑存储上分4个粒度: 表空间, 段, 区 和 块. 1.1 块: 是粒度最小的存储单位,现在标准的块大小是8K,ORACLE每一次I/O操作也是按块来操作的,也就是说当ORACLE从数据文件读数据时,是读取多少个块,而不是多少行. 每一个Block里可以包含多个row.转载 2012-07-12 09:12:26 · 2930 阅读 · 0 评论 -
Oracle的大表,小表与全表扫描
通常对于小表,Oracle建议通过全表扫描进行数据访问,对于大表则应该通过索引以加快数据查询,当然如果查询要求返回表中大部分或者全部数据,那么全表扫描可能仍然是最好的选择。 从V$SYSSTAT视图中,我们可以查询得到关于全表扫描的系统统计信息: SQL> col name for a30 SQL> select name,value from v$sysstat 2 w转载 2012-01-01 16:00:32 · 600 阅读 · 0 评论 -
oracle深入Log Buffer
数据库在运行过程中,不可避免地要遇到各种能够导致数据库损坏的情况。比如突然断电、Oracle或者操作系统的程序bug导致数据库内部逻辑结构损坏、磁盘介质损坏等,都有可能造成数据库崩溃,从而导致数据丢失的现象发生。 为了避免,或者说为了修复这些状况所导致的数据丢失现象,Oracle引入了日志缓冲区和日志文件的概念。所谓日志,就是将数据库中所有改变数据块的操作,都原原本本地记录下来。这些改变转载 2012-01-02 15:22:07 · 650 阅读 · 0 评论 -
oracle解析SQL语句的过程
为了将用户写的SQL文本转化为Oracle认识的且可执行的语句,这个过程就叫做解析过程。解析分为硬解析和软解析。一条SQL语句在第一次被执行时必须进行硬解析。 当客户端发出一条SQL语句(也可以是一个存储过程或者一个匿名PL/SQL块)进入shared pool时(注意,我们从前面已经知道,Oracle对这些SQL不叫做SQL语句,而是称为游标。因为Oracle在处理SQL时,需要很多相关原创 2012-01-02 15:23:07 · 572 阅读 · 0 评论 -
oracle,Cannot SET AUTOTRACE解决问题
1、SET AUTOTRACE参数 SET AUTOTRACE OFF ---------------- 不生成AUTOTRACE 报告,这是缺省模式 SET AUTOTRACE ON EXPLAIN ------ AUTOTRACE只显示优化器执行路径报告 SET AUTOTRACE ON STATISTICS -- 只显示执行统计信息 SET AUTOTRACE ON -------原创 2012-01-01 16:03:34 · 625 阅读 · 0 评论 -
oracle不使用索引原因定位
较典型的问题有:有时,表明明建有索引,但查询过程显然没有用到相关的索引,导致查询过程耗时漫长 ,占用资源巨大,问题到底出在哪儿呢?按照以下顺序查找,基本上能发现原因所在。 查找原因的步骤 首先,我们要确定数据库运行在何种优化模式下,相应的参数是: optimizer_mode 。可在 svrmgrl 中运 行“ show parameter optimizer_mode" 来查看。 ORA转载 2012-01-01 16:02:26 · 356 阅读 · 0 评论 -
热点块竞争和解决--cache buffers chains
热点块的定义 数据库的热点块,从简单了讲,就是极短的时间内对少量数据块进行了过于频繁的访问。定义看起来总是很简单的,但实际在数据库中,我们要去观察或者确定热点块的问题,却不是那么简单了。要深刻地理解数据库是怎么通过一些数据特征来表示热点块的,我们需要了解一些数据库在这方面处理机制的特性。 数据缓冲区的结构 我们都知道,当查询开始的时候,进程首先去数据缓冲区中查找是否转载 2012-01-01 15:58:57 · 388 阅读 · 0 评论 -
oracle查询语句优化
IN操作符 用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格。但是用IN的SQL性能总是比较低的,从ORACLE执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别:ORACLE试图将其转换成多个表的连接,如果转换不成功则先执行IN里面的子查询,再查询外层的表记录,如果转换成功则直接采用多个表的连接方式查询。由此可见用IN的SQL至少多了一个转换的过程。一般的原创 2011-12-12 23:38:12 · 545 阅读 · 0 评论 -
oracle中left join和right join的区别
使用关系代数合并数据 1 关系代数 合并数据集合的理论基础是关系代数,它是由E.F.Codd于1970年提出的。 在关系代数的形式化语言中: 用表、或者数据集合表示关系或者实体。 用行表示元组。 用列表示属性。 关系代数包含以下8个关系运算符 选取――返回满足指定条件的行。 投影――从数据集原创 2011-12-12 23:31:02 · 843 阅读 · 0 评论 -
Oracle 判断 并 手动收集 统计信息 脚本
一. 说明 在之前的blog: Oracle Statistic 统计信息 小结 http://blog.youkuaiyun.com/tianlesoftware/archive/2009/10/15/4668723.aspx 里对统计信息的收集有说明, Oracle 的Automatic Statistics G转载 2013-06-01 21:18:55 · 729 阅读 · 0 评论