oracle数据库执行sql很慢怎么回事

如题所述

一条sql突然执行变慢,耗时9秒,应用是不能改的,只能从数据库方面下手解决
步骤思路:
1:查看sql是否走索引
2:查看索引是否失效
3:hint 强制走索引(只是用来查看hint状态下,查询是否更改,应用是不能改的)
4:收集该表所有信息(包括索引)
5:分析该表所有信息(包括索引)
6:再次执行并查看
注意:哪个用户执行较慢,就用哪个用户进行操作,这样才准确
温馨提示:内容为网友见解,仅供参考
无其他回答

oracle数据库运行sql很卡很慢很顿,看等待事件都是cursor:pin s on...
该类等待事件一般是为了pin相关的子游标 ‘Cursor: pin S on X’ 最常见的等待事件, 进程为了共享操作例如执行pin游标而以SHRD S mode申请mutex, 但是未立即获得。原因是该游标被其他进程以EXCL X mode 持有了。实际该 cursor: pin S wait on X等待事件往往是由于其他因素诱发的。Mutex争用仅仅...

oracle数据库运行sql很卡很慢很顿,看等待事件都是cursor:pin s on...
这种情况可能由于OS操作系统的实际情况或者使用Resource Manager而引起。需要配合AWR中的Host CPU、Instance CPu一起看。 已经被KILLED的SESSION仍持有Mutex 当session正持有Mutex,而其对应的Process被强制KILL掉, 则直到PMON彻底清理掉该Dead Process并释放Mutex,其他session才能不再等待。 诊断该类问题,最...

oracleSQL执行缓慢的分析
oracle数据库中一张表的数据已经 亿多 而且此表创建了 个独立的索引 由于业务需要 每天需分两次向此表中插入 万条记录 由于数据量大 每次插入耗时 个小时以上 严重影响效率 因此 修改了系统的算法 将此表中只存储当天新增记录 将此表truncate后 第二天执行对此表的update操作时 非常耗时 表中有 亿...

oracle数据库,有CLOB字段的表在删除过数据后直接select * from tab...
因为delete过后是不移动HW的,而Oracle进行全表扫描时,是需要读取HW以前的全部块的,即使是空块也要扫描,举例来说,原来你的表是这样的,每个字母代表一个块,D是数据,H是HW标记,F是空块,此时全表扫描是读所有的D块 DDDDDDDDDDHFFFFFFFFFFF 当你delete删除时,H是不移动的 DDFFFFFFFFFHFFFFFF...

Oracle 视图查询有的时候很慢,有的时候查询很快
这种情况有很多可能性,首先,你的服务器的负载情况会影响到你的数据读取速度的,如果数据库服务器执行的进程过多,会导致查询速度下降很多。另外,第一次执行同一个SQL的时候,都会比较慢一些,再次执行的时候,由于数据等还在内存内,会速度快很多。再者,在Oracle中,有共享SQL语句的机制,在第一次解析...

oracle 查询的sql语句特别慢,是什么原因,是or特别慢吗,用什么优化,急...
把查询计划的内容发出来,你这一大堆代码谁能看出来啥啊。看你的代码这么长,条件那么多,语句用了函数,很多低效的or,not in等操作,另外还用了group by,order by,左右连接等等,如果表数据量很大的话,你这个语句性能不好是预料中的事情。如果你这条语句无法优化,建议从调整表结构角度考虑 ...

oracle sql 查询我使用自已写的函数查询很快,加了函数做条件就很慢...
慢是因为 对于 几十万条记录左右,你那个 test(a) 函数, 需要执行 很多次, 每行执行一次, 然后判断 LIKE '%123%'至于:select a,b, test(a) c from demo; --只这样查很快 我估计你使用的是 PLSQL Developer。查询的时候, 默认是查询第一页, 因此很快。因为只显示少部分...

oracle存储过程sql执行超时
优化系统步骤:1、参数默认是30秒,执行的sql超过30秒就会报超时错误。2、优化sql让执行更快。3、修改这个参数,在调用执行SQL语句之前。Oracle公司(甲骨文)是全球最大的信息管理软件及服务供应商,成立于1977年,总部位于美国加州Redwoodshore,面向全球开放oracle认证,Oracle开发的关系数据库产品因性能...

oracle数据库sql语句执行效率问题
方法1.如果表中的数据量较大,可以通过time建立分区,再通过条件建立内部索引。方法2.建立一张和该表一模一样的表(表2),用来存放每个业务的最大业务时间。建立触发器,没次插入数据时更新表2中的业务发生最大时间,最后关联查询。

为什么oracle sql 绑定变量后更慢了
绑定变量的作用是减少SQL语句的硬解析来减少执行时间!但是有时候 因为绑定变量需要把SQL语句的常量替换成变量,所以会对SQL语句的执行计划产生一定的影响!

相似回答