select id,hphm,nvl(c.lkmc,a.lkbh) as lkmc,to_char(jlrq,'yyyy-mm-dd hh24:mi:ss') as jlrq,
clsd,'详情' as xq,decode(hpzl,'01','大型','02','小型','其他') as hpzl,
decode(jllx,'0','A数据','1','B数据','A数据') as jllx,
decode(sfxg,'0','未修改','1','已修改','未修改') as sfxg,
decode(jllx,1,decode (sign((clsd-xzsd)/xzsd-0.5),1,'1603','1303'),'未处理') as wfdm
from kakou.veh_info a, kakou.lk_info c
where a.lkbh=c.LKBH(+) and a.xzsd>0 and a.lkbh='024'
and a.jlrq>to_date('2006-09-14 00:00:00','yyyy-mm-dd hh24:mi:ss')
and a.jlrq<=to_date('2006-10-15 00:00:00','yyyy-mm-dd hh24:mi:ss') order by id desc
这个语句的数据量有多大?
clsd,'详情' as xq,decode(hpzl,'01','大型','02','小型','其他') as hpzl,
decode(jllx,'0','A数据','1','B数据','A数据') as jllx,
decode(sfxg,'0','未修改','1','已修改','未修改') as sfxg,
decode(jllx,1,decode (sign((clsd-xzsd)/xzsd-0.5),1,'1603','1303'),'未处理') as wfdm
from kakou.veh_info a, kakou.lk_info c
where a.lkbh=c.LKBH(+) and a.xzsd>0 and a.lkbh='024'
and a.jlrq>to_date('2006-09-14 00:00:00','yyyy-mm-dd hh24:mi:ss')
and a.jlrq<=to_date('2006-10-15 00:00:00','yyyy-mm-dd hh24:mi:ss') order by id desc
这个语句的数据量有多大?
解决方案 »
- Sql存储过程怎么移植到Oracle?
- Oracle中一个简单的查询……
- Oracle SQL Developer无法调试过程
- VC++oracle数据库连接问题
- 把一个表的数据保存到另外一个表中,有没有什么高效的处理办法
- Oracle数据库周期性地报一个奇怪的异常
- 请问那位有Oracle 8i 的补丁,可以帮帮忙寄给我一份吗??找了好久都没找到啊~~
- 請教﹕分析函數中能否實現我的需求......
- 在ORACLE里怎么取出前5条数据库。好象不致辞 select TOP 5 * from table
- 关于oracle9i的培训!
- 数据库中如何创建索引才能加快处理速度?
- 急求ORACLE UPDATE的写法
IN、OR子句常会使用工作表,使索引失效
使用IS NULL 或IS NOT NULL会限制索引的使用.被索引的列在某些行中存在NULL值,就不会使用这个索引
比较不匹配的数据类型也是比较难于发现的性能问题之一
2 from kakou.veh_info a, kakou.lk_info c
3 where a.lkbh=c.LKBH(+) and a.xzsd>0 and a.lkbh='024'
4 and a.jlrq>to_date('2006-09-14 00:00:00','yyyy-mm-dd hh24:mi:ss')
5 and a.jlrq<=to_date('2006-10-15 00:00:00','yyyy-mm-dd hh24:mi:ss') order b
id desc; COUNT(ID)
----------
60819已用时间: 00: 00: 29.01Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=6319 Card=1 Bytes=46
) 1 0 SORT (AGGREGATE)
2 1 MERGE JOIN (OUTER) (Cost=6319 Card=38344 Bytes=1763824)
3 2 TABLE ACCESS (FULL) OF 'VEH_INFO' (Cost=6319 Card=3834
4 Bytes=1572104) 4 2 BUFFER (SORT)
5 4 INDEX (UNIQUE SCAN) OF 'PK_LK_INFO' (UNIQUE)
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
65581 consistent gets
64766 physical reads
0 redo size
379 bytes sent via SQL*Net to client
503 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
1 rows processed一共才6万多条数据,整个veh_info表是500万条数据。
没有使用好order by会使速度大受影响,建议order by要用的字段建立索引。
在执行前再对a,c表都用Analyse命令分析一遍,因为你的Optimizer=CHOOSE ,如果没有足够的信息,系统有时候会认为没有必要用索引.
如果还没用索引,到init***.ora文件中,把OPTIMIZER_MODE改为RBO,强制使用索引试试,看效率有没有提高.执行前重启ORACLE.