网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.在Oracle 10g中如何解决ORA-1981.
.PL/SQL中使用or展开进行sql调整.
.解析Oracle 8i/9i的计划稳定性(1).
.Oracle弱智900问五.
.PL/SQL入门教程.
.Oracle数据库常见错误操作及解决.
.如何找出按某字段大小排列的5条记.
.Oracle数据库小程序.
.清单:负载测试 SQL Server性能调.
.使用Text_IO实现EXCEL报表的PLL程.
.OracleORA-00903错误具体原因分析.
.unix上的手工建库脚本.
.Oracle:怎样备份控制文件?.
.Oracle XQuery查询、构建和转换X.
.ORACLE 9.2.0.4 PATCHES 安装!.
.Oracle 10g自动工作负载信息库剖.
.教你做Linux中的Windows管理员(图.
.Oracle调优综述(1).
.sendmail出现“MX list for host.
.在Oracle9i中建立SPFILE文件.

oracle数据库的优化-关于rownum操作

发表日期:2008-2-9



  在查询中有时使用到伪列rownum对使用伪列rownum的查询,优化器要么使用count操作,要么使用count stopkey操作来对rownum计数器进行增量(注重:这里的count操作和count stopkey操作与count函数没有任何关系),假如对rownum伪列应用一个限定条件, 如:where rownum<10;则使用 count stopkey操作,假如不为Rownum伪列指定限定条件,则是使用count操作。
  
  例1:不在Rownum伪列上使用限定条件
  
  select id,rownum from employee;(在id列上有一个主键索引)
  
  为了完成这个查询,优化器执行一个全索引扫描(主键索引),后跟一个count操作生成每个行的rownum值,count操作不需要等待得到整个记录集,随着从employee表中返回记录,rownum计数器进行增量,从而确定每个记录的rownum.
  
  例2:在rownum伪列上使用一个限定
  
  select id,rownum from employee where rownum<10;
  
  为了实施限定条件,优化器用count stopkey操作代替count操作,它将rownum伪列的增量值与限定条件中指定的值进行比较,假如rownum伪列的值大于限定条件中指定的值,则查询不再返回更多的行!
  
  注重:在where 子句中不能使用 rownum>10这样的操作,只能使用rownum<10这样的操作!
上一篇:了解raw trace文件的各项内容 人气:676
下一篇:Oracle、IBM、BEA服务器的基准测试和比较 人气:535
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐