Welcome 微信登录

首页 / 数据库 / MySQL

Oracle 生成和显示执行计划的方法

Oracle 生成和显示执行计划的方法

生成执行计划一条合法的语句在执行之后,就会在内存中至少产生一条执行计划,可以从视图v$sql_plan查询。每一条执行计划对于一个游标。一条语句生产的第一个游标的CHILD_NUMBER(即v$sql_plan中的CHILD_NUMBER)为0,同一条sql语句可能因为环境或版本等其他因素不同而产生不同的执行计划,也就是说一条sql可能有多个CHILD_NUMBER。除执行过的sql会在内存中生成执行计划外,还可以通过explain plan让优化器对sq...
Oracle Undo 原理

Oracle Undo 原理

从9i开始,Oracle还提供了一种新的撤销数据(Undo Data)管理方式,就是使用Oracle自动管理的撤销(Undo)表空间(Automatic Undo Management,通常被缩写为AUM)。(1)检查empno=7788记录在Buffer Cache中是否存在,如果不存在则读取到Buffer Cahce中;(2)在回滚表空间的相应回滚段事务表上分配事务槽,这个操作需要记录Redo信息;(3)从回滚段读入或都在Buffer Cache中创建...
Oracle中存储过程和SQL语句的优化重点

Oracle中存储过程和SQL语句的优化重点

1.全表扫描和索引扫描大数据量表尽量要避免全表扫描,全部扫描会按顺序每条记录扫描,对于>100万数据表影响很大。Oracle中通过RowID访问数据是最快的方式对字段进行函数转换,或者前模糊查询都会导致无法应用索引而进行全表扫描对Oracle共享池和缓冲区中的Sql必须要大小写都完全用上才能够匹配上2.顺序问题Oracle按照从右到左的顺序对数据表进行解析。因此From最后面的表为基础表,一般要选择记录数最少的表作为基础表。对于Where条件的顺序,...
Oracle存储过程的学习体会

Oracle存储过程的学习体会

一、前言:在经过一段时间的Oracle存储过程开发学习之后,写下了一些开发时候的小结和学习体会与大家共享,希望对大家有益。二、适合读者对象:数据库开发程序员,数据库的数据量很多,涉及到对SP(存储过程)的优化的项目开发人员,对数据库有浓厚兴趣的人。三、介绍:在Oracle存储过程的开发过程中,经常会遇到复杂的业务逻辑和对数据库的操作,这个时候就会用SP来封装数据库操作 。如果项目的SP较多,书写又没有一定的规范,将会影响以后的系统维护困难和大SP逻辑的难以...
Oracle 内存自动管理

Oracle 内存自动管理

从Oracle 10g开始,Oracle提供了自动SGA的管理(简称ASMM,即Automatic Shared Memory Management)新特性。所谓ASMM,就是指我们不再需要手工设置shared pool、buffer pool等若干内存池的大小,而是为SGA设置一个总的大小尺寸即可。Oracle 10g数据库会根据系统负载的变化,自动调整各个组件的大小,从而使得内存始终能够流向最需要它的地方。比如,假设某个系统,白天属于OLTP应用,因此...
Oracle commit详细用法

Oracle commit详细用法

commit工作过程commit提交之前Oracle在SGA撤销段缓冲区中生成撤销记录,撤销记录包含更新和删除表行的旧值 Oracle在SGA重做日志缓冲区生成重做日志记录 Oracle修改SGA数据库中的缓冲区commit提交时重做记录中的事务被标记上为所提交事务的唯一scn日志写入程序将事务重做日志信息和事务scn,从重做日志缓冲区写到磁盘上的重做日志文件释放Oracle持有的锁,标记事务为完成commit参数commit_wait初始化参数commi...
<< 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 >>