1,SELECT...省略...WHERE A1=1 OR A2=1 OR A3=1
2,SELECT...省略...WHERE (A1=1 AND B1=1) OR (A2=1 AND B1=1) OR (A3=1 AND B3=1)
这两个SQL文只是意思一下不是真正的SQL文,我只是想问1的SQL文和2的SQL文在条件部分,只是相差 一个AND的条件 照理来说运行时间应该不会差多少,但是实际上前一个要比后一个时间要短很多,可能是10倍的差距!!!有谁能讲解一下,这可能是因为什么?,数据库在解释SQL文的时候如何按什么顺序解析.对于AND 和 OR 是如何解析的,这可能涉及到数据库工作原理!请明白的大虾讲解一下?
2,SELECT...省略...WHERE (A1=1 AND B1=1) OR (A2=1 AND B1=1) OR (A3=1 AND B3=1)
这两个SQL文只是意思一下不是真正的SQL文,我只是想问1的SQL文和2的SQL文在条件部分,只是相差 一个AND的条件 照理来说运行时间应该不会差多少,但是实际上前一个要比后一个时间要短很多,可能是10倍的差距!!!有谁能讲解一下,这可能是因为什么?,数据库在解释SQL文的时候如何按什么顺序解析.对于AND 和 OR 是如何解析的,这可能涉及到数据库工作原理!请明白的大虾讲解一下?
解决方案 »
- 为什么ORDER BY 特别耗资源?
- oracle创建触发器 Warning: Trigger created with compilation errors
- 关于存储过程在同一环境下执行效率时快时慢的解决方法,请高手指教!在线等
- 根据表tab2的quhao,统计出表tab1中相同地区(区号)的数量
- 关于oracle8.1.6安装的问题????
- 我想查询数据库所有表数据里面包含'522600'的字段名称和所在的表名
- 关于找不到服务名的怪事
- 如何配置Net8 Configuration Assistant能够连接远程(公网)数据库
- 用ALTER TABLE MODIFY 怎样修改列名?等待中。。。
- 請問語句的意思,謝謝
- 一个令人困惑的问题(关于连接池)
- 请教高手给推荐一本涉及到oracle存储过程和触发器相关的书籍
条件(A1=1 AND B1=1) OR (A2=1 AND B1=1) OR (A3=1 AND B3=1),每条记录至少需要判断2次,如(A3=1 AND B3=1)成立,最多需要6次。
对表做analyze
有了统计数据,CBO才会选择正确的执行计划
有索引固然好,但是如果条件用到了很多字段,也不能把所有用到的字段全都加在索引里吧?