网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
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 9i 数据库管理实务讲座(一.
.如何在一台机子上配双网卡.
.Oracle数据库Decode()函数的使用.
.OracleDBA讲座笔记2--- oracl.
.谈谈Oracle interMedia的用法.
.Oracle 数据库的安全策略.
.Oracle PL/SQL的第一次接触.
.Oracle 7.3.4 for OpenServer 5 .
.如何配置oem的oms工作方式:.
.如何在 Linux 下通过 WEB 认证方.
.Oracle字符值的比较和储存.
.自动加载机抢占低端备份市场.
.PL/SQL程序结构(组图).
.创建Oracle10g ASM数据库.
.Oracle9i初始化参数中文说明8.
.long类型的使用限制问题.
.Oracle9i新特点:SPFILE的使用--.
.如何查看unix下某个oracle OS的进.
.PL/SQL入门.
.Oracle在Solaris下的性能与调整简.

Oracle SQL的优化(2)

发表日期:2008-2-9



  组合多个索引扫描的输出
    可以使用多个索引(或相同索引的多次扫描)来完成单个查询。
·多个索引的And-Equal操作
假如在一个查询中为多个索引指定了限定条件,则优化器在解决这个查询时或许能够使用多个索引。
例如:
    在bookshelf表的title列和CategoryName列上有两个索引:
select * from  bookshelf where title>'M' and CategoryName>'B'
此查询的where子句包含了两个独立的限定条件,每个限定条件对应一个不同的索引,第一个限定条
件对于应主键索引,第二个限定条件对应于bookshelf$category索引,在解决此查询时,优化程序可
能同时使用这两个索引,也可能会进行全表扫描,假如使用两个索引,每个索引都将通过Index Range
scan操作来扫描,从主键索引扫描返回的RowID将与从bookshelf$category索引返回的RowID进行比较。
从两个索引返回的那些RowID将在后面的Table Access by RowID操作中使用:       主键索引的Index Range Scan--                         bookshelf的
                                                       -->And-Equal-->Table Access by
           bookshelf$category索引的--                         RowID
                 Index Range ScanAnd-Equal操作比较两个索引扫描的结果,一般来说,单个多列索引的访问(在查询的where子句的限定
条件中使用了复合索引的首列)将比多个单列索引的And-Equal完成的更好!
And-Equal操作相当于:
select rowid from bookshelf where title>'M'
insersect
select rowid from bookshelf where categoryname>'B'
它把两个结果集共有部分的RowID拿出来去做bookshelf的Table Access by RowID。

上一篇:oracle 10g中的正则表达式 人气:1117
下一篇:RMAN恢复时的时间格式 人气:755
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐