情况是这样的,一个查询语句结构是 select * from a where a.a='01' and a.b between '200000000' and '211111111'; 如上查询很快,但是由于pb开发的需要,要弄一个临时表(只存在一条数据)来储存表a所需的条件,语句为如下: select * from a,b where a.a=b.a and a.b between b.b and b.c;这时候就非常之慢了,甚至要卡死,想请教下大家对于这种查询有什么优化的办法没有?
看下a表和b表的字段类型是不是不一致?尤其是number和varchar2不要混用。如果是,尽量选择一样的字段类型。 另外,如果方便的话,给出下面那个语句的执行计划,sqlplus中执行: set linesize 200 set pagesize 1000 explain plan for <你的SQL>; select * from table(dbms_xplan.display); 把最后命令的输出贴一下