你好,ORACLE数据库中有一个文件叫做重做日志文件,每当你进行一次DML *** 作时,就会在redo文件(重做日志文件)中记录一次您的 *** 作。所以当你的 *** 作越来越多时,你的重做日志文件就越来越大。
因为重做日志文件为你提供了回滚的机会,所以您应该在一个事物结束后就用commit命令提交。
在硬件方面,ORACLE的正常运行有2G的内存就足够了,你可以在运行数据库时尽量不开其他的应用程序,电脑的 *** 作系统用windows XP的,这样会比较节省资源,体搞您的数据库运行速度。
你数据有那么大,更新肯定是很慢的,你可以从下面两个方面考虑:
一、你要在3千万的数据里面查询,一定要走索引,就是对查询条件的字段建立索引
二、插入到的表和更新的表如果太大,如果插入非常频繁,可以插入取消部分索引。
一条sql突然执行变慢,耗时9秒,应用是不能改的,只能从数据库方面下手解决
步骤思路:
1:查看sql是否走索引
2:查看索引是否失效
3:hint 强制走索引(只是用来查看hint状态下,查询是否更改,应用是不能改的)
4:收集该表所有信息(包括索引)
5:分析该表所有信息(包括索引)
6:再次执行并查看
注意:哪个用户执行较慢,就用哪个用户进行 *** 作,这样才准确
1 首先看看,先分析慢的原因,一部分是因为循环次数多,一部分是因为查询数据量大慢。
2 可以从优化查询入手,比如某次查询的sql里面的数据,条件字段没有建索引,导致了全表扫描,
是不是 只需要几个字段,但是你写了 select 等等,总之要优化数据的速度。
2 可以从循环逻辑看起,有些循环可能是不必要的,能不能通过条件查询来替代循环,总之要从逻辑上优化代码
存储过程放在查询分析器中执行,大概耗时5秒左右即可成功执行,但是在网站中执行却会超时 1 将该存储过程放到查询分析器中执行,大概耗时5秒左右即可成功执行,但是在网站中执行却会超时; 2 经查阅资料,这里
以上就是关于为什么我的oracle 运行速度慢全部的内容,包括:为什么我的oracle 运行速度慢、在oracle数据库中用循环动态执行update语句很慢,如何解决、oracle数据库执行sql很慢怎么回事等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)