易截截图软件、单文件、免安装、纯绿色、仅160KB

Orcale 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 * from **_table,尽量写出需要的列名) .
3.使用表的别名(Alias)  避免orcale解析列名归属表.
--------------------------------------------------------------------------------
补充(at 2010-01-20 16:08:04):
当SQL中需要UNOIN时
union 与 union all
UNION 指令的目的是将两个 SQL 语句的结果合并起来,可以查看你要的查询结果
从效率上说,UNION ALL 要比UNION快很多,所以,如果可以确认合并的两个结果集中不包含重复的数据的话,那么就使用UNION ALL,如下: 
尽量使用union all,因为union需要进行排序,去除重复记录,效率低。


相关文档:

高效SQL查询之索引(III)


先说说这些误区。所谓“误区”,有一些是新手很容易犯的错误或者很容易忽略的问题,另外一些,则是像“耗子吃了盐会变成蝙蝠”一样,让我们从小就认为是正确的事情。如下:
1、   表上不管用得着用不着,都加个聚集索引。
我们知道,表以两种方式组织物理存储:有聚集索引的“聚集表&r ......

SQL Server 的通用分页显示存储过程

转自:http://hi.baidu.com/sonichu/blog/item/a494c4ea276f12dad539c9a8.html
建立一个 Web 应用,分页浏览功能必不可少。这个问题是数据库处理中十分常见的问题。经典的数据分页方法是:ADO 纪录集分页法,也就是利用ADO自带的分页功能(利用游标)来实现分页。但这种分页方法仅适用于较小数据量的情形,因为游标本身有缺 ......

sql 触发器实例

定义:何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。
      常见的触发器有三种:分别应用于Insert , Update , Delete 事件。
      我为什么要使用触发器?比如,这么两个表:
&n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号