首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

sql加了一个条件,反是变慢了?

2014-01-21 
sql加了一个条件,反而变慢了?!我有个sql类似如下:select * from(selecta.col2,b.col1。。。 from a,b,c,d,e w

sql加了一个条件,反而变慢了?!
我有个sql类似如下:
select * from(
select  a.col2,b.col1。。。 from a,b,c,d,e where a.col1=b.col2 and b.col3=c.col4。。。。。

where a.col2 is not null
order by a.col2,b.col1

内层子查询单独执行瞬间完成,但没有数据。加了外层做进一步筛选,像上面那么写,也是瞬间完成,没有数据。
当我把外层where条件改为a.col2='xxx',sql就要执行5分钟以上,而且没有数据返回。
我把这个条件加到子查询的where条件里,单独测试一下内层sql,也变得巨慢,这是为什么???(子查询里除了连表也有过滤数据的条件)

我单独拿a.col2='xxx'到a表中查询很快呀。
这肯定是疏忽造成的,这各种变化...
[解决办法]
少年 你再好好仔细检查检查吧
[解决办法]
执行计划是关键
[解决办法]
看看修改前和修改后的执行计划,然后比较一下。

热点排行