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

高级SQL 2

1 用UNION替换OR (适用于索引列)
通常情况下, 用UNION替换WHERE子句中的OR将会起到较好的效果. 对索引列使用OR将造成全表扫描. 注意, 以上规则只针对多个索引列有效.
如果有column没有被索引, 查询效率可能会因为你没有选择OR而降低. 在下面的例子中, LOC_ID 和REGION上都建有索引.
高效: SELECT LOC_ID , LOC_DESC , REGION from LOCATION WHERE LOC_ID = 10 UNION SELECT LOC_ID , LOC_DESC , REGION from LOCATION WHERE REGION = “MELBOURNE”;
低效: SELECT LOC_ID , LOC_DESC , REGION from LOCATION WHERE LOC_ID = 10 OR REGION = “MELBOURNE”;
如果你坚持要用OR, 那就需要返回记录最少的索引列写在最前面.
2 用>=替代>
高效:
SELECT * from EMP WHERE DEPTNO >=4 ;
低效:
SELECT * from EMP WHERE DEPTNO >3 ;
两者的区别在于, 前者DBMS将直接跳到第一个DEPT等于4的记录而后者将首先定位到DEPTNO=3的记录并且向前扫描到第一个DEPT大于3的记录.
3 避免在索引列上使用计算.
WHERE子句中,如果索引列是函数的一部分.优化器将不使用索引而使用全表扫描. 举例:
低效:
SELECT … from DEPT WHERE SAL * 12 > 25000;
高效:
SELECT … from DEPT WHERE SAL > 25000/12;
4 用EXISTS替换DISTINCT:
当提交一个包含一对多表信息(比如部门表和雇员表)的查询时,避免在SELECT子句中使用DISTINCT. 一般可以考虑用EXIST替换, EXISTS 使查询
更为迅速,因为RDBMS核心模块将在子查询的条件一旦满足后,立刻返回结果. 例子:
(低效): SELECT DISTINCT DEPT_NO,DEPT_NAME from DEPT D , EMP E
WHERE D.DEPT_NO = E.DEPT_NO ;
(高效): SELECT DEPT_NO,DEPT_NAME from DEPT D WHERE EXISTS ( SELECT * from EMP E WHERE E.DEPT_NO = D.DEPT_NO);


相关文档:

将Excel导入SQL SERVER2005数据库

/*
本文专注于将Excel导入SQL SERVER2005数据库
此路径下的这个工具,是SQL SERVER2005 用来导入导出数据的工具。
C:\Program Files\Microsoft SQL Server\90\DTS\Binn\DTSWizard.exe
一般在数据库名上--右键-->Tasks-->Import Data -->界面就出来了,和点击上面的工具是一个东西。
首次使用这个D ......

SQL Server 2005: Recursive Hierarchies to XML

Suppose we have a recursive hierarchy stored in a relational database and we want to write it to XML.  This might be for a variety of reasons – e.g. as a pre-cached input to a UI control, to export to another system using a pre-defined format, etc.
 
In SQL Server 2000, in order to ......

ORACLE SQL优化 ORACLE执行计划

Last login: Mon Feb  8 14:13:19 2010 from 192.168.1.249
ipnet
-bash-3.00$
-bash-3.00$ ipnet
-bash: ipnet: command not found
-bash-3.00$ su - oracle
Password:
eastcsu: incorrect password
-bash-3.00$ eastcom
-bash: eastcom: command not found
-bash-3.00$ su - oracle
Password:
[oracl ......

MS SQL Server2000 在tomcat下的数据源配置

MS SQL Server2000 数据源配置
(注:sqljdbc.jar下载不到的话,找我索取pengqinghui110@126.com)
1、在项目的WebRoot下的META-INF中新建context.xml文件。内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<Context>
    <Resource name="jdbc/sqlserver"
   &nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号