由于最近服务好慢,经过awrrpt.sql看到有5个SQL占用了大量的CPU资源,EM建议我改一下SQL语句,问题是:假设SQL有问题,要耗费大量的CPU,那为什么ORACLE不把这些语句执行完后,放到共享池让下次执行的时候会点呢?(EM报告大意说CPU花了大量时间在分析这些SQL语句上,不过分析完没有执行,)每次都要解释一次?我想把应用先关闭,然后手动执行这5条sql语句,看什么条件触发系统慢。
调试欢乐多
------------ -------------------------- ----------
shared pool PX msg pool struct 1088
shared pool PX subheap desc 256
shared pool PX QC deq stats 1480
shared pool PX server deq stats 1480
shared pool PX QC msg stats 2288
shared pool PX subheap 1044536
shared pool PX server msg stats 2288
large pool PX msg pool 20480008 rows selected.