如何优化带or条件的sql
----------本文章转自网络,互相学习,互相帮助
以下为转帖内容:
================================================================================================
今天在论坛上看到了一个帖子,问题如下:
select * from cc
where ((a1 ='ffff' and z1='mmmm') or (b1='sss' and z2='nnnn'))
and c1 ='ggggg'
其中表有30万行数据,返回的数据10行左右,怎样创建index访问最快。
按照别人的说法测试了一下,步骤如下:
create table CC
(
A1 VARCHAR2(5),
Z1 VARCHAR2(5),
B1 VARCHAR2(5),
Z2 VARCHAR2(5),
C1 VARCHAR2(5)
)
insert into cc values('dffd','dfsd','fdf','fdsfs','sfds');--重复插入2097152条,对查询时间可能有影响
SQL> select count(*) from cc;
COUNT(*)
----------
2097160
SQL> set timing on
SQL> edit
已写入 file afiedt.buf
1 select * from cc
2 where ((a1='ffff'and z1='mmmm') or (b1='sss' and z2='nnnn'))
3* and c1='ggggg'--无索引情况下or查询
SQL> /
A1 Z1 B1 Z2 C1
----- ----- ----- ----- -----
ffff mmmmm sss nnnn ggggg
ffff mmmmm sss nnnn ggggg
ffff mmmmm sss nnnn ggggg
ffff mmmmm sss nnnn ggggg
ffff mmmmm sss nnnn ggggg
ffff mmmmm sss nnnn ggggg
sql语句优化方法详解_IT/计算机_专业资料。非常详细的SQL优化方法我们...FROM LOCATION WHERE LOC_ID = 10 OR LOC_ID = 20 OR LOC_ID = 30 ...
SQL语句优化技巧_IT/计算机_专业资料。以下并非本人整理,但是看后感觉相当不错,...lastname FROM names WHERE dept = 'prod' or city = 'Orlando' or division...
SQL 语句优化原则: 1. IN 操作符 用 IN 写出来的 SQL 的优点是比较容易写...in、or 子句常会使用工作表,使索 引失效;如果不产生大量重复值,可以考虑把...
往往因为一个小的SQL语 句不够优化,导致数据库性能急剧下降,小型机idle所剩无...“IN ,OR ,<> ,IS NOT NULL ”、分解复杂的SQL语句等等方法,却是“放之...
SQL语句优化策略_计算机软件及应用_IT/计算机_专业资料。SQL语句优化策略SQL...FROM LOCATION WHERE LOC_ID = 10 OR LOC_ID = 20 OR LOC_ID = 30 ...
SQLServer语句优化 77页 免费 SQLServer2005基础教程 353页 1下载券 SQLServer2005...3.应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用 索...
sql语句优化规则_计算机软件及应用_IT/计算机_专业资料。主要以提高sql语句的效率...FROM LOCATION WHERE LOC_ID = 10 OR LOC_ID = 20 OR LOC_ID = 30 ...
SQL语句优化方法_IT/计算机_专业资料。SQL语句优化方法1. 选择最有效率的表名顺序...8,用 UNION 替换 OR (适用于索引列) 通常情况下, 用 UNION 替换 Where ...
SQL语句优化汇总_电脑基础知识_IT/计算机_专业资料。SQL语句 优化方法 : 1.只...32、用OR的字句可以分解成多个查询,并且通过UNION 连接多个查询。他们的速度只...
30种mysql优化sql语句查询的方法_计算机软件及应用_IT/计算机_专业资料。1.对...应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃 使用索引而...
闽公网安备 35021102001881号 
热门文档