sql性能求赐教!
sql性能求指教!!!!
如下2个sql:
sql1:
select * from table1 t1
inner join table2 on t1.id = t2.oid
where t2.name like '%XXX%'
sql2:
select * from table1 t1
inner join table2 on t1.id = t2.oid and t2.name like '%XXX%'
以上2个sql哪个性能有差别吗?
------解决方案--------------------
根据你的写法、做个简单测试:t1 10W行数据 、、t2 100W行数据
如下2个sql:
sql1:
select * from table1 t1
inner join table2 on t1.id = t2.oid
where t2.name like '%XXX%'
sql2:
select * from table1 t1
inner join table2 on t1.id = t2.oid and t2.name like '%XXX%'
以上2个sql哪个性能有差别吗?
------解决方案--------------------
根据你的写法、做个简单测试:t1 10W行数据 、、t2 100W行数据
create table t1(id number);
create table t2(oid number,name varchar2(10));
insert into t1 select rownum from dual connect by level<=100000;
insert into t2 select rownum,rownum
------解决方案--------------------
'a' from dual connect by level<=1000000;
commit;
sys@ORCL> set autot trace exp
sys@ORCL> ed
Wrote file afiedt.buf
1 select * from t1
2 inner join t2 on t1.id = t2.oid
3* where t2.name like '%XXX%'
sys@ORCL> /
Execution Plan
----------------------
Plan hash value: 2959412835
---------------------------------------
------解决方案--------------------
Id
------解决方案--------------------
Operation
------解决方案--------------------
Name
------解决方案--------------------
Rows
------解决方案--------------------
Bytes
------解决方案--------------------
Cost (%CPU)
------解决方案--------------------
Time
------解决方案--------------------
---------------------------------------
------解决方案--------------------
0
------解决方案--------------------
SELECT STATEMENT
------解决方案--------------------
------解决方案--------------------
64
------解决方案--------------------