-- Start

在SQL 语句中应该尽量避免使用OR,因为这样做会影响SQL 语句的性能。考虑下面的情况:

CREATE TABLE EMPLOYEE
(
NAME     VARCHAR2(20) NOT NULL,---姓名
BIRTHDAY DATE---生日
);

现在有这样一个问题:让你查找一下生日是1949-10-1(共和国同龄人)或1978-12-18(十一届三中全会召开时间)的人,怎么办?我们很自然就会把这句话翻译成如下SQL 语句:

SELECT * FROM EMPLOYEE WHERE BIRTHDAY = DATE '1949-10-01' OR BIRTHDAY = DATE '1978-12-18';

这样做完全正确,可是性能不好,你的思想被这个问题束缚了,我们还可以这么写:

SELECT * FROM EMPLOYEE WHERE BIRTHDAY IN (DATE '1949-10-01',DATE '1978-12-18');

有时候,我们不要把自己束缚在问题里面。

--更多参见:Oracle SQL 精萃

--声明:转载请注明出处

-- Last edited on 2015-06-19

-- Created byShangBo on2015-06-19

-- End


更多相关文章

  1. SQL Server调优系列进阶篇(查询语句运行几个指标值监测)
  2. Mysql完全手册(笔记二,使用数据与性能优化)
  3. 使用navicat for mysql 将查询语句过滤的结果导出成insert语句时
  4. oracle新接触的sql语句
  5. 求查询成绩表中两门科成绩90分以上的学生学号的SQL语句?
  6. mysql常用命令/语句学习三
  7. StringBuilder 拼接sql语句比较快
  8. 求一SQL语句(如何按某列的值分组且取出每组前几行的数据)
  9. 1)如何用语句来查看一个表内是否建了索引2)或用plsql查看一个表

随机推荐

  1. android Java 笔试考题
  2. android appos 笔记
  3. [长姿势了]android:padding和android:mar
  4. Android Activity onConfigurationChange
  5. Android showDialog时报错requestFeature
  6. Android01之LinearLayout和RelativeLayou
  7. android实现卸载提示
  8. Android(安卓)Studio Note
  9. Android 分类法:六个类型,八种用户
  10. 浅析Android线程模型一 --- 转