Oracle concept

来源:互联网 发布:怎么优化listing 编辑:程序博客网 时间:2024/04/29 09:30

1.数据是在block里存储的,一个block可以有很多行。空块组成freelist. Pctfree=10,就是说一个块的使用率达到90%,unlink from freelist;Pctused=40%,就是说一个块的使用率低于40%时,relinik to free list.

2.redo-保存的是commited数据,当数据库出现故障时,可以recovery.

   undo-保存的是un-commited数据,当要达到一致性时,可以rolloback.

3.10g or later only use CBO

4.自动采集统计信息的自动是指数据库自己知道要采集什么样的信息,但至于什么时候启动采集信息,还是要人手控制(schedule).

5.with .. as. 将select 赋值给一个表的别名,可以在别处引用,还有,oracle执行一次WITH子查询,会将结果放到临时表中,如果随后有对子查询的多次访问,那么会从临时表中直接读取数据。

6.merge into, insert all

7.GETS 是与分析的次数有关,而pins 是与执行次数有关。因为一般的SQL 语句可以是每次语句被分析后一定执行一遍,但也可能执行多遍,每执行一遍, PINS 就加1。所以 PINHITRATIO 和GETHITRATIO 有时不相等.

8.条带化(Striping)是把连续的数据分割成相同大小的数据块,把每段数据分别写入到阵列中不同磁盘上的方法。当数据从第一个磁盘上传输完后,第二个磁盘就能确定下一段数据。stripe width(条带宽度):RAID中的磁盘数。stripe depth(条带深度):单块磁盘上条带的大小,即在每个磁盘上连续写入数据的总量。stripe size(条带大小):stripe depth*stripe width。

9.当比较字符与数值的时候,数值会有更高的优先级,也就是将字符转为数值进行比较。

10.Driving Table,小Row Source.在执行计划中,应该为靠上的那个row source;Probed Table,大Row Source。

 

DECLARE MYCURS CURSOR FOR
SELECT *
FROM
xxx
WITH UR;

LOAD FROM MYCURS OF CURSOR MESSAGES ${LOGPATH}/load.txt INSERT INTO xxx NONRECOVERABLE;

 

原创粉丝点击