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

Help:oracle查询速度忽然变慢

2013-07-21 
Help:oracle查询速度突然变慢本帖最后由 lzp_lrp 于 2011-07-02 18:24:03 编辑oracle 查询速度突然变慢,造

Help:oracle查询速度突然变慢
本帖最后由 lzp_lrp 于 2011-07-02 18:24:03 编辑 oracle 查询速度突然变慢,造成我们的系统非常慢

直接在toad里执行一下SQL(select * from operator),取500条数据下来,要10秒左右

帮忙分析一下问题(没有DBA和密码)

或者如何证明与我们的系统无关
[解决办法]

operator 表有多大? 你查询的时候,该表上有其他的事务操作吗? 

用字段名代替* 看看要多长时间。

可以尝试在sqlplus里连接看看, 顺便指定一下arraysize 参数,在看看
SQL>set arraysize 5000;


[解决办法]
具体看一下执行计划,分析一下或查看一下oracle日志文件。
[解决办法]
直接用客户端连接取数据呢?
如果直连也要那么久的话,我觉得就可以说和系统无关吧。
[解决办法]
看一下这张表是否很大。我曾经遇到一张表中只有3条数据,查询要很久,然后把内容拷贝出来后。执行truncate table。然后把数据再扔进去。。
这样的话释放空间后,查询就很快了!
[解决办法]
1、检查你的服务器资源占用情况,看是否有异常资源占用情况,如果有确定原因杀掉该资源进程。

2、检查最近你们开发的程序有没有异常bug之类的,比如程序的死循环之类的。

3、重启下数据库试试。 多半第一种情况比较多。
[解决办法]
查看下执行计划,看看下有没有主外键,以及index。
[解决办法]
这个表是不是经常更新或者删除数据,这样虽然表的数据不是很大,但是碎片太多,查询就会很慢,建议先把数据备份出来,然后truncate table,再恢复数据,这样可以试试。

[解决办法]
顶一下。看看最后结果是什么?
[解决办法]
是任何时段都是这样的问题么?

抑或  网络带宽 被占用过多。
[解决办法]
重启库 另外 看看数据库是不是快满了、
[解决办法]
资源没释放……
[解决办法]
你首先看下你的数据库是不是有事物没有提交?
或者重启一下数据库。
[解决办法]

引用:
可能对大家误导了,是查询所有的表都非常慢,operator只是我举了个例子,原来的时候都是毫秒级的,现在要10秒左右,慢了几十倍,导致程序运行打开一个界面要几分钟

可能的原因分析:和网络有关或数据库有关

怎么能证明一下和我们的程序无关?



原来楼主是想证明不是自己的问题呀,把程序恢复到老版本。看是否还有此问题。

[解决办法]
是不是临时表空间快满了,查询看一下

========================================================================
SELECT temp_used.tablespace_name, total - used as "Free", total as "Total", round(nvl(total - used, 0) * 100 / total, 3) "Free percent"
  FROM (SELECT tablespace_name, SUM(bytes_used)/1024/1024 used FROM V$TEMP_SPACE_HEADER GROUP BY tablespace_name) temp_used,
       (SELECT tablespace_name, SUM(bytes)/1024/1024 total FROM dba_temp_files GROUP BY tablespace_name) temp_total
WHERE temp_used.tablespace_name = temp_total.tablespace_name

[解决办法]
同意17楼的
[解决办法]
跟踪sql执行计划,分析这10秒时间究竟消耗在什么地方,然后才能有针对性的去解决问题,查询速度慢只是个表象,原因太多了,只是单纯这么说,很难分析的。
[解决办法]
表的高水位线是否有问题?
截断下看看
[解决办法]
oracle 垃圾回收命令
PURGE RECYCLEBIN;

试着把垃圾清理一下。呵呵

热点排行