易截截图软件、单文件、免安装、纯绿色、仅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查询之索引(VI)

我们先看 NestedLoop 和 MergeJoin 的算法(以下为引用,见 RicCC 的《 通往性能优化的天堂 - 地狱 JOIN 方法说明 》 ):
==================================
NestedLoop:
   foreach rowA in tableA where tableA.col2=?
    {
    search rowsB from tableB where tab ......

高效SQL查询之索引(V)

先站在应用程序的角度说说它们的不同。
1、  直接拼 SQL
就像大家了解的那样,直接拼 SQL 带来了 SQL 注入攻击,带来了拼时些许的性能损失,但是拼不用添加 SqlParameter ,会少写很多代码——很多人喜欢直接拼,也许就因为这点。这种做法会把你拼好的 SQL 原样直接发送到 DB 服务器去执行。(注意类似 ......

PL/SQL Developer使用技巧

PL/SQL Developer使用技巧
  
1、PL/SQL Developer记住登陆密码
在使用PL/SQL Developer时,为了工作方便希望PL/SQL Developer记住登录Oracle的用户名和密码;
设置方法:PL/SQL Developer 7.1.2 ->tools->Preferences->Oracle->Logon History , "Store history"是默认勾选的,勾上"Store wi ......

反安装Sql Server 2005

通过“添加删除程序”里并不能完全删除SQlL server。
通过下面的命令,完全反安装SQL server 2005
d:\Setup.exe 
/
qb REMOVE
=ALL
 INSTANCENAME
=<
InstanceName
>
默认实例的名字是MSSQLSERVER
引用文章地址:http://www.cnblogs.com/jvstudio/archive/2010/01/17/1650089.ht ......

SQL输入数据,指定排序顺序

废话不多说,上代码
SELECT k
from (
SELECT 'shanghai' AS k from DUAL
UNION ALL
SELECT 'dalian' AS k from DUAL
UNION ALL
SELECT 'beijing' AS k from DUAL
)
ORDER BY CASE
WHEN k = 'beijing'
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号