摘要:在oracle 8i中,往往会出现要在存储过程中运行操作系统命令的情况.一般来说,利用oracle enterprise manager设定作业时可以达到这个目的.但是由于oem在设定作业缺乏灵活性,设定的作业的参数是固定的.在实际应用当中往往需要在sql语句当中运行需要随时运行操作系统命令.oracle 8i没有直接运行os命令的语句,我们可以利用dbms_pipe程序包实现这一要求. dbms......
摘要:一、 索引(index)使用的问题
1. 索引(index),用还是不用?这是个的问题。
是全表扫描还是索引范围扫描主要考虑sql的查询速度问题。这里主要关心读取的记录的数目。根据donald k .burleson的说法,使用索引范围扫描的原则是: 对于数据有原始排序的表,读取少于表记录数40%的查询应该使用索引范围扫描。对读取多于表记录数40%的查询应全表扫描。 对于未排序的表,读取少于表......
Oracle 数据库系统使用经验1.having 子句的用法
having 子句对 group by 子句所确定的行组进行控制 ,having 子句条件中只允许涉及常量 , 聚组函数或 group by 子句中的列 .
外部联接 "+" 按其在 "=" 的左边或右边分左联接与右联接 . 若不带 "+" 运算符的表中的一个行不直接匹配于带 "+" 预算符的表中的任何行 , 则前者的行与后者中的一个空行相匹配并被返回 . 若二者均不带 +, 则二者中无法匹配的均被返回 . 利用外部联接 "+", 可以替代效率十分低下的 not in 运算 , 大大提高运行速度 . 例如 , 下面这条命令执行起来很慢 【程序编程相关:
安全大比拼:NP ASIC防火墙你选谁?】
2. 外部联接 "+" 的用法 【推荐阅读:
NP带来防火墙变革】
(select empno from emp1 where job=sale); 【扩展信息:
穿透防火墙的数据传输方法】
select a.empno from emp a where a.empno not in
倘若利用外部联接 , 改写命令如下 :
select a.empno from emp a ,emp1 b
where a.empno=b.empno(+)
and b.empno is null
and b.job=sale;
可以发现 , 运行速度明显提高 .
3. 删除表内重复记录的方法
可以利用这样的命令来删除表内重复记录 :
delete from table_name a
where rowid< (select max(rowid) from table_name
where column1=a.column1 and column2=a.column2
and colum3=a.colum3 and ...);
4.set transaction 命令的用法
在执行大事务时 , 有时 oracle 会报出如下的错误 :
ora-01555:snapshot too old (rollback segment too small) ...
下一页 摘要:oracle 8i数据库服务器是高度可优化的软件产品,经常性的调整可以优化系统的性能,防止出现数据瓶颈。我们通过调整数据库系统,可以使它达到最佳性能以满足用户的需要。 下面,笔者将介绍优化和调整sun sparc solaris系统平台上的oracle 8i数据库服务器的一些相关命令和方法。
solaris性能监控命令
solaris提供了性能监控命令,用于监控数据库性能和决定数据库的需求。除......