云海争奇

欢迎来到云海争奇>>   | 首页 资源中心 | Unix/Linux | Oracle | DB2 | 行业翘楚 | 闲言碎语 | 心情散记 | 证券业务 | 技术随笔 | 顷刻天涯 | ITPUB论坛

oracle日常维护手册

发表人:yhzq | 发表时间: 2007年八月22日, 16:37

一、Unix操作系统检查

二、检查小型机状态

三、Oracle日常检查

 查看全文

根据pub培训进度,咱安排自学。

发表人:yhzq | 发表时间: 2006年九月09日, 14:01

课程主要内容分为两阶段,第一阶段为UNIX系统管理部分,时间安排为4天32学时
具体包括以下方面:
1 UNIX基础
2 AIX系统管理

第二阶段为Oracle 10g数据库管理,时间安排为3天24学时,内容包括
1 UNIX系统下Oracle体系架构
2 Oracle在AIX下的安装
3 AIX下Oracle的各种DBA工作,各项DBA操作在Unix系统下的做法
4 Unix下的备份与恢复
5 具体案例讨论

两阶段均有实际大型机房安排参观学习,设备包括
IBM P650和动态分区应用环境
DS4500和3584存储环境
IBM P650小型机 3台
磁盘阵列 ds4500 2台
IBM P630小型机 1台
磁带库3584 1台
比较全面的IBM环境

时间安排:
第一阶段(AIX系统管理):10月1,2,3,4日,共4天32学时
第二阶段(Oracle DBA):10月5,6,7日,共3天32学时

利用索引逆向扫描

发表人:yhzq | 发表时间: 2006年八月25日, 08:26

select id, email, status
from test a
where a.id = #Id#
and a.gmt_created = (select max(b.gmt_created)
from test b
where b.id = #Id#);

这个sql对于开发工程师来说,是比较常见的,意思是求最近的一个记录,该索引创建成(id,gmt_created)组合索引,但这样写有两个问题,一是对于索引来讲,需要扫描两次,一次子查询中的聚合扫描,一次范围扫描,第二个问题比较严重,有可能两条记录的gmt_created是一样的,结果集可能是多条,那程序可能就会出错。。。

--------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost |
-------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 92 | 1 |
| 1 | TABLE ACCESS BY INDEX ROWID | TEST | 1 | 92 | 1 |
|* 2 | INDEX RANGE SCAN | IDX_TEST_ID | 1 | | 1 |
| 3 | SORT AGGREGATE | | 1 | 27 | |
| 4 | FIRST ROW | | 1 | 27 | 1 |
|* 5 | INDEX RANGE SCAN (MIN/MAX)| IDX_TEST_ID |1 |
--------------------------------------------------------------------------

改进后的sql如下所示:

select *
from (select id, email, status
from test a
where a.id = :1
order by a.gmt_created desc)
where rownum = 1;

-------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 83 | 1 |
|* 1 | COUNT STOPKEY | | | | |
| 2 | VIEW | | 1 | 83 | 1 |
| 3 | TABLE ACCESS BY INDEX ROWID | TEST | 1 | 92 | 1 |
|* 4 | INDEX RANGE SCAN DESCENDING| IDX_TEST_ID |
--------------------------------------------------------------------------

利用索引逆向扫描,即避免了2次索引扫描,也避免了结果集多于2条的情况。。。

-------------转自老和尚


Valid XHTML 1.0 Strict and CSS. Powered by pLog
Design by Blog.lvwo.com