Oracle 尽量避免在SQL语句中使用 OR
来源:互联网 发布:js 判断是否为整数 编辑:程序博客网 时间:2024/05/01 06:37
-- 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 by ShangBo on 2015-06-19
-- End
0 0
- Java中使用代理访问网络及验证
- Android从APP中跳转到安卓市场下载页面
- 面向AngularJS开发人员的21款实用工作流工具
- URAL 1139. City Blocks (数论)
- 进程与线程的一个简单解释
- Oracle 尽量避免在SQL语句中使用 OR
- AndroidStudio----git
- Hadoop环境搭建笔记
- 如果apache安装成为linux的服务的话
- [LeetCode] Single Number II
- BoF-SIFT Features with OpenCV
- linux新的API signalfd、timerfd、eventfd使用说明
- 控件textbox的TextMode="MultiLine"时的限制字数多少问题
- Bash中一些重要的命令