用户名: 密码: 注册
搜索   
收藏本站 设为主页
首页
新闻 供求 报价 技术 下载 商家 商城 博客
论坛
硬件学院 软件学院 解决方案
技术查找 
  按标题 按全文
相关技术
· 安装和配置IBM刀片服务器...
· 如何恢复IBM存储服务器的...
· IBM x3850M2/3950M2服务...
· 利用Catalyst交换机处理...
· RealPlayer惊现四个严重...
· PowerEdge 1420 服务器用...
最近头条
· 思科年度大会宣布进军绿...
· 传百度因服务器硬盘大量...
· 周伟焜:Internet上IBM驾...
· IBM公布世界最快计算机技...
· 恒盛新锐联合IBM在深圳发...
· 联想工程师与海拔最高IT...
相关供求
· 求购 dell cx300后备电源...
· 南亚原厂工作站内存DDR2...
· 现货原厂奇梦达QMD FBD ...
· 特价FBD 2G ECC667  现...
· 大量奇梦达DDR2 2G REG ...
· QMD 1G DDR2 REG400服务...
Advertisement
 首页 > 技术频道 > 软件学院 > 浏览技术 关键字: oracle  数据库 
Oracle数据库系统使用经验六则
2006-6-21 12:24:46   equalnull   来源:中华服务器网    点击:1236次   加入收藏夹

---- 1.having 子句的用法

---- having 子句对 group by 子句所确定的行组进行控制,having 子句条件中只允许涉及常量,聚组函数或group by 子句中的列.  

---- 2.外部联接"+"的用法

 ---- 外部联接"+"按其在"="的左边或右边分左联接和右联接.若不带"+"运算符的表中的一个行不直接匹配于带"+"预算符的表中的任何行,则前者的行与后者中的一个空行相匹配并被返回.若二者均不带´+´,则二者中无法匹配的均被返回.利用外部联接"+",可以替代效率十分低下的 not in 运算,大大提高运行速度.例如,下面这条命令执行起来很慢 select a.empno from emp a where a.empno not in (select empno from emp1 where job=´SALE´);  

---- 倘若利用外部联接,改写命令如下:   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 ...);  ---- 不过,当表比较大(例如50万条以上)时,这个方法的效率之差令人无法忍受,需要另想办法

---- 4.set transaction 命令的用法

---- 在执行大事务时,有时oracle会报出如下的错误: 
  ORA-01555:snapshot too old (rollback segment too small)

---- 这说明oracle给此事务随机分配的回滚段太小了,这时可以为它指定一个足够大的回滚段,以确保这个事务的成功执行.例如   set transaction use rollback segment roll_abc;  delete from table_name where ...  commit; 

---- 回滚段roll_abc被指定给这个delete事务,commit命令则在事务结束之后取消了回滚段的指定.   

---- 5.使用索引的注意事项

---- select,update,delete 语句中的子查询应当有规律地查找少于20%的表行.如果一个语句查找的行数超过总行数的20%,它将不能通过使用索引获得性能上的提高.   

---- 索引可能产生碎片,因为记录从表中删除时,相应也从表的索引中删除.表释放的空间可以再用,而索引释放的空间却不能再用.频繁进行删除操作的被索引的表,应当阶段性地重建索引,以避免在索引中造成空间碎片,影响性能.在许可的条件下,也可以阶段性地truncate表,truncate命令删除表中所有记录,也删除索引碎片.   
对不起,您需要登录后才能查看全部详细内容
上一条技术: OracleORA-00903错误具体原因分析
下一条技术: Oracle中一个日期查找的误区


关于我们 法律声明 广告服务 友情链接 联系我们
版权所有:中华服务器网©2001-2008
粤ICP备05008160号 由深圳市七乘二四信息技术有限公司提供技术支持。
 客 服
 客 服
 投 诉