网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
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!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > SQL技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.巧用数据库引擎优化Tuning Advis.
.使用链接服务器执行远程数据库上.
.用SQL数据库批量插入数据简介.
.在SQL Server中获得不包含时间部.
.SQL Server 2000中生成XML的小技.
.数据库差异备份与增量备份的不同.
.SQL Server 存储过程嵌套示例.
.将代码页从SQL Server 7.0改变到.
.SQL SERVER数据导成INSERT.
.怎样才能保护好SQL Server 数据库.
.删除无效的SQL SERVER组的几种方.
.SQL查询语句精华使用简要.
.自定义用于ASP Web站点的SQL 7.0.
.SQL Server中多行多列连接成为单.
.解决SqlTransaction用尽的问题(.
.诊断全局错误时如何在系统级进行.
.sql2000下 分页存储过程.
.一份数据库管理员(DBA)试题 你要.
.向你推荐一个特别好用的分页存储.
.实例讲解System.Data.DataTable计.

轻松掌握Oracle数据库Where条件执行顺序

发表日期:2008-4-21


由于SQL优化起来比较复杂,并且还会受环境限制,在开发过程中,写SQL必须必须要遵循以下几点的原则:

1.ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾.

例如:

(低效)

SELECT … FROM EMP E WHERE SAL > 50000 AND JOB = ‘MANAGER’ AND 25 < (SELECT COUNT(*) FROM EMP WHERE MGR=E.EMPNO);

(高效)

SELECT … FROM EMP E WHERE 25 < (SELECT COUNT(*) FROM EMP WHERE MGR=E.EMPNO) AND SAL > 50000 AND JOB = ‘MANAGER’;

2.SELECT子句中避免使用’*’

当在SELECT子句中列出所有的COLUMN时,使用动态SQL列引用 ‘*’ 是一个方便的方法.可是,这是一个非常低效的方法. 实际上,ORACLE在解析的过程中, 会将’*’ 依次转换成所有的列名, 这个工作是通过查询数据字典完成的, 这意味着将耗费更多的时间.

3.使用表的别名(Alias)

当在SQL语句中连接多个表时, 请使用表的别名并把别名前缀于每个Column上.这样一来,就可以减少解析的时间并减少那些由Column歧义引起的语法错误.

注:Column歧义指的是由于SQL中不同的表具有相同的Column名,当SQL语句中出现这个Column时,SQL解析器无法判断这个Column的归属。

上一篇:通过rownum隐式游标实现与TOP相似的功能 人气:1180
下一篇:死锁并不可怕也并不是难以解决的技术问题 人气:1098
浏览全部数据库的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐